Дизайн сцен 2

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

Модератор: immortal

pion365
Сообщения: 32
Зарегистрирован: Сб дек 10, 2016 7:10 pm
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение pion365 » Вт фев 07, 2017 8:33 pm

immortal писал(а): причина установлена: не подключена библиотека GD в PHP, попробуйте обновить версию php
sudo apt-get update && sudo apt-get upgrade
и быть может переустановить php5-gd
Уф! Обновил. Версия PHP Version 5.6.29-0+deb8u1, появился раздел GD.
Появились графики!
Казалось бы, такая мелочь - небольшое различие в версиях, а вот поди ж ты!
Спасибо огромное за помощь и терпение!
ARMBIAN на Orange PiPC
Pavel_Bannykh
Сообщения: 12
Зарегистрирован: Пн ноя 07, 2016 4:56 pm
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение Pavel_Bannykh » Пт фев 10, 2017 2:53 pm

При разработке сцены столкнулся со следующей проблемой:
когда я на сцену воткнул html элемент, а в него закинул следующий код:

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

<script>
    alert("test");
</script>
<canvas id="smile" id="canvas"></canvas>

<script> 
   window.onload = function() {
    var drawingCanvas = document.getElementById('smile');
    if(drawingCanvas && drawingCanvas.getContext) {
     var context = drawingCanvas.getContext('2d');
     // Рисуем окружность 
     context.strokeStyle = "#000";
     context.fillStyle = "#fc0";
     context.beginPath();
     context.arc(100,100,50,0,Math.PI*2,true);
     context.closePath();
     context.stroke();
     context.fill();
     // Рисуем левый глаз 
     context.fillStyle = "#fff";
     context.beginPath();
     context.arc(84,90,8,0,Math.PI*2,true);
     context.closePath();
     context.stroke();
     context.fill();
     // Рисуем правый глаз 
     context.beginPath();
     context.arc(116,90,8,0,Math.PI*2,true);
     context.closePath();
     context.stroke();
     context.fill();
     // Рисуем рот
     context.beginPath();
     context.moveTo(70,115);
     context.quadraticCurveTo(100,130,130,115);
     context.quadraticCurveTo(100,150,70,115); 
     context.closePath();
     context.stroke();
     context.fill();
    }
   }
  </script>
Отрабатывает он следующим образом:
1) сначала всплывает сообщение "test"
2) потом скрипт отрисовывает смайлик
3) потом нарисованный смайлик пропадает
4) снова возникает сообщение "test"

Вопрос: почему скрипт с alert в html элементе на сцене отрабатывает дважды? и куда девается картинка, нарисованная на canvas'е?
banderos
Сообщения: 13
Зарегистрирован: Ср ноя 02, 2016 11:05 am
Откуда: Украина Днепр. обл
Благодарил (а): 17 раз
Поблагодарили: 1 раз

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

Сообщение banderos » Пт фев 10, 2017 10:31 pm

ребята подскажите пожалуйста, что нужно подправить в коде сцены погода что бы переноса не было текста... и еще проблема не знаю как убрать сотые.
Вложения
Безымянный.png
Безымянный.png (750.54 КБ) 11023 просмотра
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

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

Сообщение slgeo » Пт фев 10, 2017 11:12 pm

А погода откуда? OpenWeather?
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Пт фев 10, 2017 11:59 pm

banderos писал(а):ребята подскажите пожалуйста, что нужно подправить в коде сцены погода что бы переноса не было текста... и еще проблема не знаю как убрать сотые.
например так - viewtopic.php?f=4&t=2588&start=370#p45215
но есть вариант лучше с исправлением модуля погоды!
За это сообщение автора Vovix поблагодарили (всего 2):
banderos (Сб фев 11, 2017 1:20 pm) • wozowik (Чт фев 15, 2018 11:14 am)
Рейтинг: 2.33%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
banderos
Сообщения: 13
Зарегистрирован: Ср ноя 02, 2016 11:05 am
Откуда: Украина Днепр. обл
Благодарил (а): 17 раз
Поблагодарили: 1 раз

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

Сообщение banderos » Пт фев 10, 2017 11:59 pm

дак больше не откуда....
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

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

Сообщение immortal » Сб фев 11, 2017 12:43 am

banderos писал(а):ребята подскажите пожалуйста, что нужно подправить в коде сцены погода что бы переноса не было текста... и еще проблема не знаю как убрать сотые.
специально в первом сообщении модуля OpenWeatherMap добавил решение некоторых проблем с этим модулем, в том числе и округление данных viewtopic.php?f=5&t=2211

Вот ссылка на исправленный модуль с округлением viewtopic.php?f=5&t=2211&start=210#p45069

Это где на планете земля давление 1035 мм рт.ст.? это 1,36 атмосфер
За это сообщение автора immortal поблагодарили (всего 2):
Vovix (Сб фев 11, 2017 12:06 pm) • banderos (Сб фев 11, 2017 1:20 pm)
Рейтинг: 2.33%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Denisss
Сообщения: 8
Зарегистрирован: Вс фев 12, 2017 1:44 am
Благодарил (а): 4 раза
Поблагодарили: 0

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

Сообщение Denisss » Вт фев 14, 2017 12:28 pm

Vovix писал(а):Немного доработал и по сути это теперь не одна сцена а несколько, связанных красивыми переходами!
111.jpg
тут остальные сцены из этой темы (внимание, много картинок):
СпойлерПоказать
222.jpg
333.jpg
444.jpg
555.jpg
666.jpg



Добрый день, установил сцену работает прекрасно но не обновляется дата и день недели, подскажите куда обратить внимание?
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Вт фев 14, 2017 4:41 pm

Denisss писал(а): ....

Добрый день, установил сцену работает прекрасно но не обновляется дата и день недели, подскажите куда обратить внимание?
на объекты в которых у вас дата и время!
например у меня (так в этих сценах) элемент panel-time
имеет код:

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

<div class="panel-time">
    <div class="time">%ThisComputer.timeH%<span class="blnk">:</span>%ThisComputer.timeM%</div>
 <div style="font-size:14px;text-align:center;">USD&nbsp;%cbr.USD%&nbsp;&nbsp;&nbsp;EURO&nbsp;%cbr.EURO%&nbsp;&nbsp;&nbsp;CZK&nbsp;%cbr.CZK%</div>
    <div class="date">%ThisComputer.Day%, %ThisComputer.Date%</div>
</div> 
из него видим, что вам нужны объекты и свойства:

ThisComputer.timeH - часы времени
ThisComputer.timeM - минуты во времени
ThisComputer.Day - день недели
ThisComputer.Date - дата

этих объектов нет по умолчанию в системе!

либо создайте их и пропишите где-то код по их определению, либо подставляйте другие свои значения!

а самое главное это сцены, НЕ ТЕМЫ для винды которые можно накатить и радоваться, не СКИНЫ для какого-нибудь плеера!
это сцены, которые для полноценной установки и использования требуют минимальных знаний PHP, CSS и javaScript


P.S.
Вот начало моего кода в методе onNewHour который делает недостоющие вам свойства,
поставте его в начала метода (либо с заменой своей подобной части, либо просто как есть):
СпойлерПоказать

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

// раскидываем дату и время если изменилось в Windows
$h=(int)date('G',time());

if (gg('ThisComputer.DateD')!=date("d", time())) {

$day[0]="воскресенье";
$day[1]="понедельник";
$day[2]="вторник";
$day[3]="среда";
$day[4]="четверг";
$day[5]="пятница";
$day[6]="суббота";

$month[1]="января";
$monthAlt[1]="ЯНВАРЬ";
$month[2]="февраля";
$monthAlt[2]="ФЕВРАЛЬ";
$month[3]="марта";
$monthAlt[3]="МАРТ";
$month[4]="апреля";
$monthAlt[4]="АПРЕЛЬ";
$month[5]="мая";
$monthAlt[5]="МАЙ";
$month[6]="июня";
$monthAlt[6]="ИЮНЬ";
$month[7]="июля";
$monthAlt[7]="ИЮЛЬ";
$month[8]="августа";
$monthAlt[8]="АВГУСТ";
$month[9]="сентября";
$monthAlt[9]="СЕНТЯБРЬ"; 
$month[10]="октября";
$monthAlt[10]="ОКТЯБРЬ";
$month[11]="ноября";
$monthAlt[11]="НОЯБРЬ";
$month[12]="декабря";
$monthAlt[12]="ДЕКАБРЬ";

sg("ThisComputer.DateD",date( "d", time()));
sg("ThisComputer.DateM",date( "m", time()));
sg("ThisComputer.DateY",date( "Y", time()));
sg("ThisComputer.Date",date( "d.m.Y", time()));
sg("ThisComputer.Day",$day[date("w")]);
sg("ThisComputer.Month",$month[date("n")]);
sg("ThisComputer.MonthAlt",$monthAlt[date("n")]);
}
А это начало метода onNewMinute, вставьте аналогично в него:
СпойлерПоказать

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

$h=(int)date('G',time());
$m=date('i',time());


//Записываем текущее время 
sg("ThisComputer.timeNow",date( "H:i", time()));

// получем ЧАСЫ и МИНУТЫ отдельно
$timeH=date("H", time());
$timeM=date("i", time());
sg("ThisComputer.timeH",$timeH);
sg("ThisComputer.timeM",$timeM);
За это сообщение автора Vovix поблагодарили (всего 5):
Denisss (Вт фев 14, 2017 6:02 pm) • Сердобольный (Ср фев 15, 2017 10:14 am) • ferenir (Пн июн 19, 2017 1:29 pm) • wozowik (Чт фев 15, 2018 11:15 am) • tolyan2809 (Пн авг 15, 2022 9:58 am)
Рейтинг: 5.81%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Denisss
Сообщения: 8
Зарегистрирован: Вс фев 12, 2017 1:44 am
Благодарил (а): 4 раза
Поблагодарили: 0

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

Сообщение Denisss » Вт фев 14, 2017 6:01 pm

Vovix писал(а):
Denisss писал(а): ....

Добрый день, установил сцену работает прекрасно но не обновляется дата и день недели, подскажите куда обратить внимание?
на объекты в которых у вас дата и время!
например у меня (так в этих сценах) элемент panel-time
имеет код:

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

<div class="panel-time">
    <div class="time">%ThisComputer.timeH%<span class="blnk">:</span>%ThisComputer.timeM%</div>
 <div style="font-size:14px;text-align:center;">USD&nbsp;%cbr.USD%&nbsp;&nbsp;&nbsp;EURO&nbsp;%cbr.EURO%&nbsp;&nbsp;&nbsp;CZK&nbsp;%cbr.CZK%</div>
    <div class="date">%ThisComputer.Day%, %ThisComputer.Date%</div>
</div> 
из него видим, что вам нужны объекты и свойства:

ThisComputer.timeH - часы времени
ThisComputer.timeM - минуты во времени
ThisComputer.Day - день недели
ThisComputer.Date - дата

этих объектов нет по умолчанию в системе!

либо создайте их и пропишите где-то код по их определению, либо подставляйте другие свои значения!

а самое главное это сцены, НЕ ТЕМЫ для винды которые можно накатить и радоваться, не СКИНЫ для какого-нибудь плеера!
это сцены, которые для полноценной установки и использования требуют минимальных знаний PHP, CSS и javaScript


P.S.
Вот начало моего кода в методе onNewHour который делает недостоющие вам свойства,
поставте его в начала метода (либо с заменой своей подобной части, либо просто как есть):
СпойлерПоказать

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

// раскидываем дату и время если изменилось в Windows
$h=(int)date('G',time());

if (gg('ThisComputer.DateD')!=date("d", time())) {

$day[0]="воскресенье";
$day[1]="понедельник";
$day[2]="вторник";
$day[3]="среда";
$day[4]="четверг";
$day[5]="пятница";
$day[6]="суббота";

$month[1]="января";
$monthAlt[1]="ЯНВАРЬ";
$month[2]="февраля";
$monthAlt[2]="ФЕВРАЛЬ";
$month[3]="марта";
$monthAlt[3]="МАРТ";
$month[4]="апреля";
$monthAlt[4]="АПРЕЛЬ";
$month[5]="мая";
$monthAlt[5]="МАЙ";
$month[6]="июня";
$monthAlt[6]="ИЮНЬ";
$month[7]="июля";
$monthAlt[7]="ИЮЛЬ";
$month[8]="августа";
$monthAlt[8]="АВГУСТ";
$month[9]="сентября";
$monthAlt[9]="СЕНТЯБРЬ"; 
$month[10]="октября";
$monthAlt[10]="ОКТЯБРЬ";
$month[11]="ноября";
$monthAlt[11]="НОЯБРЬ";
$month[12]="декабря";
$monthAlt[12]="ДЕКАБРЬ";

sg("ThisComputer.DateD",date( "d", time()));
sg("ThisComputer.DateM",date( "m", time()));
sg("ThisComputer.DateY",date( "Y", time()));
sg("ThisComputer.Date",date( "d.m.Y", time()));
sg("ThisComputer.Day",$day[date("w")]);
sg("ThisComputer.Month",$month[date("n")]);
sg("ThisComputer.MonthAlt",$monthAlt[date("n")]);
}
А это начало метода onNewMinute, вставьте аналогично в него:
СпойлерПоказать

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

$h=(int)date('G',time());
$m=date('i',time());


//Записываем текущее время 
sg("ThisComputer.timeNow",date( "H:i", time()));

// получем ЧАСЫ и МИНУТЫ отдельно
$timeH=date("H", time());
$timeM=date("i", time());
sg("ThisComputer.timeH",$timeH);
sg("ThisComputer.timeM",$timeM);

Спасибо все заработало!!!
Ответить