Страница 1 из 2

Новый Blockly

Добавлено: Пт сен 12, 2014 1:04 pm
sergejey
Совместными усилиями в исходниках обновился язык визуального программирования Blockly. Он был раньше, но пришлось практически заново переподключать, т.к. последняя версия имела совсем другую структуру нежели предыдущая и, к сожалению, одна с другой была не совместима.

Итак, сейчас мы имеем в нескольких местах возможность выбора, что использовать для программирования: PHP или Blockly

Изображение

При использовании последнего, можно создавать сценарий перетаскиванием "кубиков" без написания кода. Кубики есть практически под все необходимые операции, так что в 99% можно ими обойтись, не изучая язык программирования PHP.

Вот как выглядят эти блоки:

Изображение

Если с ними какие проблемы или чего-то не хватает, то пишите -- будем разбираться.

Важный момент: можно в процессе работы переключать тип программирования с Blockly на PHP и потом править уже PHP код "руками", но при обратном переключении эти изменения не будут автоматически транслироваться в блоки -- там останется тот код, который был до переключения и правок PHP.

Re: Новый Blockly

Добавлено: Сб сен 13, 2014 5:44 am
Amarok
Еще бы под Arduino такое подключить(

Re: Новый Blockly

Добавлено: Пн сен 15, 2014 12:09 pm
sergejey
BlackWarrior писал(а):Еще бы под Arduino такое подключить(
Есть похожий проект, но на любителя -- на контроллере всё же лучше "руками" программировать.

Re: Новый Blockly

Добавлено: Пн сен 15, 2014 5:19 pm
sergejey
Добавил динамическую герерацию кубиков на основе имеющихся сценариев
Изображение

Т.е. можно создавать сценарии и они будут становиться кубиками, которые закладываюстся в основу других сценариев. В принципе, это тоже самое, что использовать кубик "Запустить сценарий" из раздела "Общее", но не нужно помнить и вводить имя сценария.

Re: Новый Blockly

Добавлено: Вт сен 16, 2014 9:10 am
Ivan
Ошибка в скрипте примера
Снимок.JPG
Снимок.JPG (42.11 КБ) 11919 просмотров
Получается код:

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

callMethod('$object[\'TITLE\']'.'.'.'update');
Данный код не выполнится. т.к $object в одинарных кавычках

Re: Новый Blockly

Добавлено: Вт сен 16, 2014 9:28 am
Ivan
Ещё один баг

Если в списки добавлять длинную строку то блок расширяется в низ

А вот в длинном условии не видно конца (Хорошо что у меня 2 монитора, можно растянуть)

Не хватает горизонтальной прокрутки

Re: Новый Blockly

Добавлено: Чт сен 18, 2014 12:30 pm
sergejey
Просто пример сценария при появлении кого-то дома после долгого отсутствия:

Изображение

Re: Новый Blockly

Добавлено: Пт сен 19, 2014 8:00 am
adzam
Подскажите пож. Хочу чтоб в меню менялись картинки согласно погоде и пробую переложить скрипт

$dir = gg("Sinoptik.Img");

switch ($dir){
case 'Ясно':
$dir="<img src=/templates_alt/icon/Ясно.png>";
break;
case 'Небольшая облачность':
$dir='<img src=/templates_alt/icon/Н_облачность.png>';
break;
case 'Облачно с прояснениями':
$dir='<img src=/templates_alt/icon/О_с_прояснениями.png>';
break;
case 'Переменная облачность, дождь':
$dir='<img src=/templates_alt/icon/П_о_дождь.png>';
break;
case 'Переменная облачность, сильный дождь':
$dir='<img src=/templates_alt/icon/П_о_с_дождь.png>';
break;
case'Переменная облачность':
$dir='<img src=/templates_alt/icon/П_облачность.png>';
break;
case 'Сплошная облачность, мелкий дождь':
$dir='<img src=/templates_alt/icon/С_о_м_дождь.png>';
break;
case 'Сплошная облачность':
$dir='<img src=/templates_alt/icon/С_облачность.png>';
break;
}

sg("Sinoptik.Img_menu",$dir);

на Blockly, но что-то не очень получается:
04.png
04.png (198.23 КБ) 11820 просмотров
после сохранения открываю файл на редактирование и вижувот это
03.png
03.png (175.75 КБ) 11820 просмотров

Re: Новый Blockly

Добавлено: Вт сен 23, 2014 3:28 pm
sergejey
В продолжение этой темы добавил в раздел Настройки модуль Мои блоки:

Изображение

Этот модуль позволяет создавать свои блоки, используя существующие сценарии/объекты/свойства/методы. Фактически, всё это уже было, но пригодится для тех случаев, когда хочется предоставить человеку набор понятных блоков для конструктора, а не обучать его тому, что такое объекты и их свойства.

Изображение

Изображение

Эти блоки можно разбивать на категории и они будут в соответствующем разделе в редакторе блоков.

Re: Новый Blockly

Добавлено: Пт окт 17, 2014 11:13 pm
Bagir
Ах вот что это за блоки, а я сразу и не догадался, пока на форуме эту тему не нашел. Я в самом начале, совершено не зная php, сильно прицепился к кубикам. Но сейчас код выглядит мне намного роднее. Но многим наверное очень пригодится.