Академический Документы
Профессиональный Документы
Культура Документы
Переход с DevelStudio
Dmitriy Zayceff edited this page 2 days ago · 9 revisions
Если вы пришли в DevelNext из develstudio, то вам нужно знать о новых механизмах создания F.A.Q.
программ в этой новой среде программирования.
IDE, Среда
1. Поведения - позволяют изменить логику работы с компонентами, похожи на свойства. Переход с DevelStudio
2. События с параметрами - события могут быть навешены с параметром, например на Переход с GameMaker
клавишу Enter. Язык PHP
Файловая система
3. Конструктор событий - визуальное программирование блоками, возможность
Дата и время
сконвертировать это все в скрипт.
UI, Дизайн
4. Игровые возможности - физический 2D движок, спрайты, игровые сцены, клонирование. JavaFX CSS
5. Модули - в develnext все невизуальные компоненты вынесены в отдельные модули, Игры и развлечения
которые надо подключать к формам. Интернет и сети
Аудио и видео
Поведения, behaviours Системные утилиты
Лаунчеры и оболочки
Эта возможность пришла из конструкторов игр Construct Classic и Construct 2 . Сама идея SQL, Базы данных
в том, что все объекты между собой равны и имеют одинаковые свойства, но для того, чтобы Разное
придать объекту новый функционал используют поведения. Почему нельзя просто добавить
объекту еще немного свойств, зачем это все выделять в поведения? Во-первых, поведений
Clone this wiki locally
много, если все это переводить в свойства будет неудобно в этом разбираться, их будет
слишком много. Во-вторых, поведения это не совсем свойства, они могут быть более https://github.com/jphp-compiler/develnext
функциональными.
C l o n e i n D e s kto p
В develnext, например, есть поведение для того, чтобы объект "Мигал", это поведения
анимации. А есть поведение для того, чтобы объектом можно было управлять стрелками
клавиатуры. И таких поведений очень много.
События с параметрами
Эта возможность пришла из конструктора игр Game Maker , например, в develstudio вам надо
было задать, чтобы при нажатии на клавишу Enter в поле для ввода открывалась ссылка в
браузере. Это приходилось делать вручную, создавать событие на вообще любое нажатие
клавиши и уже внутри через условие проверять - какая клавиша была нажата.
В develnext это делается проще, через события с параметрами. В среде вы можете создать
индивидуальное событие на нажатие именно клавиши Enter , любых других клавишь и даже
сразу сочетаний клавишь, по типу Ctrl + X , Alt + ... и т.д.
Тоже самое относится к событиям столкновения, скроллинга, мышки и некоторым другим,
везде есть параметр.
Конструктор событий
Такое есть в Game Maker и во многих других конструкторах. В develstudio была немного
похожая возможность, там были иконки в php редакторе справа, которые позволяли
генерировать php код в удобном виде. В develnext тоже есть такие иконки, но они формируют
набор действий из блоков, это удобно для начинающих, к тому же всегда можно
сконвертировать и посмотреть какой код скрывают эти блоки. К сожалению, обратно
сконвертировать код в блоки невозможно.
Игровые возможности
Модули
Если вы пришли из develstudio, тогда представьте, что модуль в develnext это такая же форма,
только с набором одних невизуальных компонентов, на нее нельзя добавлять визуальные
компоненты по типу кнопок, текстов и т.п.
Вот такой вот модуль можно сформировать из нужных вам таймеров, диалогов и т.д.,
реализовать там нужную вам логику и подключить к форме или даже к нескольким формам.
Не забывайте, чтобы подключить модуль к форме, есть свойство "Модули" у самой формы.
Простой случай
Например, вам необходимо просто вывести сообщение из поля ввода, в develstudio это
делалось так:
$text = c("edit1")->text;
alert($text);
$text = $this->edit1->text;
alert($text);
Сложная ситуация
Иногда возникает ситуация, когда название компонента нужно взять из строки, в DevelStudio с
этим у вас не было проблем, вы просто делали например c("button_$index") . А в develnext
это можно сделать так:
$button = $this->{"button_$index"}
Компоненты другой формы
$text = $this->form('Form2')->edit3->text;
$this->timer->start();
Если у вас есть MainModule , который подключен к вашей форме, то ко всем его компонентам
можно обращаться также как к компонентам формы.
В develstudio переменная $self указывала на текущий объект события, о том какая замена
есть в develnext.
alert($event->sender->text);
Используйте модули, например у вас изначально должен быть модуль MainModule в проекте, в
который вы можете добавить сколько угодно таймеров, диалогов и других модульных
компонентов. Этот модуль можно подключить к вашей форме через свойство Модули у самой
формы.
Из формы вам будут доступны все компоненты ее модулей через $this , а из модуля - все
компоненты его форм, тоже через $this .
В develnext нет похожей константы, но относительный путь программы можно легко получить
через сочетание символов ./ :
unlink('./file.txt'); // удаление файла рядом с программой
unlink('file.txt');
Вернуться в начало
© 2017 GitHub, Inc. Terms Privacy Security Status Help Contact GitHub API Training Shop Blog About