Дизайн сцен 2

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск

Re: Дизайн сцен 2

Сообщение Dark_Veter »

Я кстати погоду себе делал по этому же шаблону, только без анимации, работает с модулем OpenWeatherMap. Если кому интересно, могу выложить. Я там еще сделал изменяющийся фон, для каждого времени года :-)
SPOILERSPOILER_SHOW
2015-11-24_1258.jpg
2015-11-24_1258.jpg (196.19 КБ) 15686 просмотров
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

Dark_Veter писал(а):Я кстати погоду себе делал по этому же шаблону, только без анимации, работает с модулем OpenWeatherMap. Если кому интересно, могу выложить. Я там еще сделал изменяющийся фон, для каждого времени года :-)
очень здорово, и очень похоже - один источник ;)
только неужели OpenWeatherMap погоду предсказывает аж в сотых долях градуса?
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

Dark_Veter писал(а):.... изменяющийся фон, для каждого времени года :-)
я тоже думал об этом, но решил, что лучше потом сделаю кадр с камеры видеонаблюдения
уличной!!!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Aleks130699
Сообщения: 103
Зарегистрирован: Чт ноя 19, 2015 5:33 pm

Re: Дизайн сцен 2

Сообщение Aleks130699 »

Dark_Veter писал(а):Я там еще сделал изменяющийся фон, для каждого времени года :-)
SPOILERSPOILER_SHOW
2015-11-24_1258.jpg
Мне интересно как сделать изменяющийся фон))Просто я в программировании еще не сильно разобрался))
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск

Re: Дизайн сцен 2

Сообщение Dark_Veter »

Aleks130699 писал(а):Мне интересно как сделать изменяющийся фон))Просто я в программировании еще не сильно разобрался))
Я следующим образом сделал:
1. Положил нужные картинки в cms/scenes/backgrounds/
2. Создал сценарий getSceneImage со следующим кодом (картинки в массивах надо будет поменять на нужные).

Код: Выделить всё

if($params['scene'] == "weather") {
     $winter = array("cms/scenes/backgrounds/winter_1067x640.jpg");
      $spring = array("cms/scenes/backgrounds/spring_1067x640.jpg");
      $summer = array("cms/scenes/backgrounds/summer_1067x640.jpg");
      $autumn = array("cms/scenes/backgrounds/autumn_1067x640.jpg",
                    "cms/scenes/backgrounds/weather_1067x640.jpg");
 
        $seasons = array(0 => $winter,
                     1 => $spring,
                     2 => $summer,
                     3 => $autumn);
 
    $season = $seasons[floor(date('n') / 3) % 4];
 
    $img = $season[rand(0, count($season) - 1)];
    if (file_exists($img)) {
           header("Content-type: image/jpg");
           readfile($img);
    } 
} else {
    $images = array("cms/scenes/backgrounds/weather_1067x640.jpg",
                   "cms/scenes/backgrounds/city_1067x640.jpg",
                   "cms/scenes/backgrounds/plants_1067x640.jpg");
    $img = $images[rand(0, 2)];
        if (file_exists($img)) {
               header("Content-type: image/jpg");
               readfile($img);
        }
} 
3. Создал сцену и в строке фоновое изображение указал созданный выше сценарий:

Код: Выделить всё

/objects/?script=getSceneImage&scene=weather
В принципе код можно еще оптимизировать и уменьшить, но я пока этим не заморачивался.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Aleks130699
Сообщения: 103
Зарегистрирован: Чт ноя 19, 2015 5:33 pm

Re: Дизайн сцен 2

Сообщение Aleks130699 »

Dark_Veter писал(а): Я следующим образом сделал:
1. Положил нужные картинки в cms/scenes/backgrounds/
2. Создал сценарий getSceneImage со следующим кодом (картинки в массивах надо будет поменять на нужные).

Код: Выделить всё

if($params['scene'] == "weather") {
     $winter = array("cms/scenes/backgrounds/winter_1067x640.jpg");
      $spring = array("cms/scenes/backgrounds/spring_1067x640.jpg");
      $summer = array("cms/scenes/backgrounds/summer_1067x640.jpg");
      $autumn = array("cms/scenes/backgrounds/autumn_1067x640.jpg",
                    "cms/scenes/backgrounds/weather_1067x640.jpg");
 
        $seasons = array(0 => $winter,
                     1 => $spring,
                     2 => $summer,
                     3 => $autumn);
 
    $season = $seasons[floor(date('n') / 3) % 4];
 
    $img = $season[rand(0, count($season) - 1)];
    if (file_exists($img)) {
           header("Content-type: image/jpg");
           readfile($img);
    } 
} else {
    $images = array("cms/scenes/backgrounds/weather_1067x640.jpg",
                   "cms/scenes/backgrounds/city_1067x640.jpg",
                   "cms/scenes/backgrounds/plants_1067x640.jpg");
    $img = $images[rand(0, 2)];
        if (file_exists($img)) {
               header("Content-type: image/jpg");
               readfile($img);
        }
} 
3. Создал сцену и в строке фоновое изображение указал созданный выше сценарий:

Код: Выделить всё

/objects/?script=getSceneImage&scene=weather
В принципе код можно еще оптимизировать и уменьшить, но я пока этим не заморачивался.
Поставил вроде все работает как нужно,только почему-то на вот эту weather_1067x640.jpg меняется через раз.и страничка грузится бесконечно.
Вложения
Снимок.jpg
Снимок.jpg (194.25 КБ) 15614 просмотров
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск

Re: Дизайн сцен 2

Сообщение Dark_Veter »

Aleks130699 писал(а):Поставил вроде все работает как нужно,только почему-то на вот эту weather_1067x640.jpg меняется через раз.и страничка грузится бесконечно.
В принципе ее вообще можно убрать было из массива, сделано было для того, чтобы на каждое время года можно было добавить несколько картинок и они бы менялись случайным образом.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Aleks130699
Сообщения: 103
Зарегистрирован: Чт ноя 19, 2015 5:33 pm

Re: Дизайн сцен 2

Сообщение Aleks130699 »

Aleks130699 писал(а): Поставил вроде все работает как нужно,только почему-то на вот эту weather_1067x640.jpg меняется через раз.и страничка грузится бесконечно.
Заметил что сцена погоды грузится очень долго и без картинки, пробовал вставить на новую сцену и сервер перезапускать все равно долго.
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск

Re: Дизайн сцен 2

Сообщение Dark_Veter »

Aleks130699 писал(а):Заметил что сцена погоды грузится очень долго и без картинки, пробовал вставить на новую сцену и сервер перезапускать все равно долго.
У вас там скорее всего какие-то стили из внешних источников грузятся (возможно Font Awesome), попробуйте скачать и подключить их локально.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

меняющийся фон можно сделать БЕЗ ЕДИНОЙ СТРОЧКИ КОДА!
вот возьмите элемент (картинки поставьте свои и добавьте остальные времена года)
основано также на том что у меня объект Izhevsk.season меняет свое значение по временам года!


P.S. не забудьте убрать фон в настройках сцены (хотя он наверное просто наложится), но для пущей логики, наверно в настройках сцены лучше оставить поле фона пустым!
Вложения
фон времени года.zip
(108.85 КБ) 1043 скачивания
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить