Дизайн сцен 2

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

Модератор: immortal

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

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

Сообщение Dark_Veter » Вт ноя 24, 2015 1:08 pm

Я кстати погоду себе делал по этому же шаблону, только без анимации, работает с модулем OpenWeatherMap. Если кому интересно, могу выложить. Я там еще сделал изменяющийся фон, для каждого времени года :-)
СпойлерПоказать
2015-11-24_1258.jpg
2015-11-24_1258.jpg (196.19 КБ) 14200 просмотров
За это сообщение автора Dark_Veter поблагодарили (всего 3):
VGorokhov (Вт янв 19, 2016 4:42 am) • wozowik (Ср фев 14, 2018 8:50 pm) • ~220v (Чт май 28, 2020 3:18 am)
Рейтинг: 3.49%
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Вт ноя 24, 2015 1:42 pm

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
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Вт ноя 24, 2015 1:45 pm

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

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

Сообщение Aleks130699 » Вт ноя 24, 2015 2:24 pm

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

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

Сообщение Dark_Veter » Вт ноя 24, 2015 3:34 pm

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
В принципе код можно еще оптимизировать и уменьшить, но я пока этим не заморачивался.
За это сообщение автора Dark_Veter поблагодарили (всего 2):
Amarok (Пн дек 11, 2017 10:05 am) • TransMatrix (Вт июн 05, 2018 9:25 pm)
Рейтинг: 2.33%
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Aleks130699
Сообщения: 103
Зарегистрирован: Чт ноя 19, 2015 5:33 pm
Благодарил (а): 7 раз
Поблагодарили: 8 раз

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

Сообщение Aleks130699 » Вт ноя 24, 2015 5:42 pm

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 КБ) 14128 просмотров
За это сообщение автора Aleks130699 поблагодарили (всего 2):
Andy111 (Чт ноя 16, 2017 8:08 pm) • tolyan2809 (Ср фев 09, 2022 2:31 pm)
Рейтинг: 2.33%
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

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

Сообщение Dark_Veter » Вт ноя 24, 2015 5:57 pm

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

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

Сообщение Aleks130699 » Вт ноя 24, 2015 6:03 pm

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

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

Сообщение Dark_Veter » Вт ноя 24, 2015 6:12 pm

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

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

Сообщение Vovix » Вт ноя 24, 2015 6:38 pm

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


P.S. не забудьте убрать фон в настройках сцены (хотя он наверное просто наложится), но для пущей логики, наверно в настройках сцены лучше оставить поле фона пустым!
Вложения
фон времени года.zip
(108.85 КБ) 969 скачиваний
За это сообщение автора Vovix поблагодарили (всего 3):
Amarok (Пн дек 11, 2017 10:07 am) • wozowik (Ср фев 14, 2018 8:53 pm) • tolyan2809 (Ср фев 09, 2022 2:31 pm)
Рейтинг: 3.49%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить