Описание плагинов для Construct 2

только самые лучшие уроки, мануалы, советы по Construct 2

Сообщение Gamepad
» 11 фев 2014, 21:16

Gamepad


Оригинал.
Обратно в каталог плагинов.

Объект "Геймпад" позволяет приложению получать данные с подключенного консольного контроллера, геймпада или джойстика. С объектом могут работать многие устройства, но лучше всего объект приспособлен для работы с контроллером XBox 360 или схожим образом устроенными контроллерами (с таким же макетом кнопок и рукоятки).

К сожалению, будет ли конкретное устройство поддерживаться зависит от большого количества факторов, включающих операционную систему, доступные драйверы и поддержку браузера. Это делает сложным заранее узнать, будет ли работтать устройство. Контроллер XBox 360 работает на Windows системах с браузером Google Chrome. Контроллер Playstation 3 обычно не работает бещ инсталлирования неофициальных драйверов, так как официально н не поддерживается. По этой причине рекомендуется тестировать работу геймпада Google Chrome в Windows with при помощи контроллера XBox 360 и всегда поддерживать альтернативный метод ввода, например, с клавиатуры.

Большинство мобильных устройств не имеют физического разъема для подключения контроллера. Поэтому ввод данных с геймпада может быть обыкновенно использован для десктопных устройств. Для мобильных устройств в тачскринами, следует фокусироваться на вводе с помощью касаний.

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

Key mapping (картографирование кнопок)
Разные контроллеры имеют разные макеты кнопок или кнопки имеют различающиеся имена. Например, контроллер Playstation 3 исользует квадратную, круглую, треугольную и Х кнопку, в то время как контроллер XBox 360 использует A, B, X и Y (обратите внимание, что X появляется в разных местах на разных устройствах). Объект геймпад соответствует только макету XBox 360.

Объект геймпада также сделает попытку составить карту кнопок другого контроллера по отношению к макету кнопок XBox 360 для того, чтобы удостовериться, что нажатие на одни и те же кнопки вызовет одни и те же события. Но в связи с большим количеством сильно отличающихся друг от друга макетов велика вероятность, что некоторые кнопки устройства будут запускать разные ключевые события в объекте геймпада. Частично именно поэтому рекомендуется сосредоточить внимание на поддержке контроллера XBox 360. Если вы серьезно заинтересованы в предоставлении такого вида ввода, то протестируйте управление на максимально широком списке устройств.

Прямое подключение (Raw input) может быть осуществлен с использованием выражений группы Raw.

Управление в поведениях при помощи геймпада.
Для того, чтобы контролировать поведения при помощи геймпада, используйте действие Simulate control. Для более подробной информации смотрите секцию Custom controls в манулах, посвященных поведениям.

Несколько геймпадов.
Несколько геймпадов могут быть подсоединены к одному устройству. Для того, чтобы отличать одно от другого, боольшинство действий, условий и выражений объекта геймпад имеют также параметр геймпада. Это индекс контроллера с нумерацией от 0. Например, 0 обозначает первый контроллер, 1 обозначает второй и так далее. Это позволяет делать вам многопользовательские контролируемые геймпадом игры.

Свойства объекта "Геймпад"

1. Analog deadzone - аналоговая мертвая зона. Устройства с аналоговыми джойстиками чрезвычайно чувствительны к входящей информации. Это позволяет хорошо контролировать игру, но также означает, что джойстик даже в состоянии покоя все еще регистрирует определенное количество движений. Если это будет проигнорировано, то персонаж игрока под управлением джойстика может начать хаотично передвигаться даже если игрок не трогает контроллер. Для того чтобы решить эту проблему, все значения, близкие к текущему, игнорируются. Движения джойстика в пределах находятся в промежутке от -100 до 100 и если дистанция от центра, до краев аналоговой зоны больше, чем поступивший сигнал о движении, то будет возвращен 0. Например, по умолчанию, оно равно 25, поэтому значения внутри круга с радиусом в 25 будут все еще считаться равными 0. Это рекомендованное значение для того, чтобы быть уверенным в том, что даже устаревшие устройства не спровоцируют незапланированное игроком движение.

Условия объекта "Геймпад"

1. Has gamepads - истинно, если геймпад на момент проверки подключен и активирован. Для того, чтобы предотвратить отслеживать сайтами подключенные к компьютеру устройства, до первого совершенного действия в большинстве браузеров будет считаться, что контроллер не подключен.
2. On gamepad connected - триггер, запускается, когда геймпад подключен к компьютеру. Для того, чтобы предотвратить отслеживать сайтами подключенные к компьютеру устройства, до первого совершенного действия в большинстве браузеров будет считаться, что контроллер не подключен.
3. On gamepad disconnected - триггер, запускается, когда геймпад отключается от компьютера, например путем отсоединения кабеля.
4. Compare axis - сравнить ось. Сравнивает положение аналогового джойстика на конкретном геймпаде. Значения меньше мертвой зоны возвращаются как 0. Может принимать значения от - 100 до 100.
5. Is button down - если кнопка нажата. Истинно, если данная кнопка нп момент проверки нажата. Кнопки приводятся к макету контроллера XBox 360.
6. Is button index down - если заданная по числовому индексу кнопка нажата.
7. On any button pressed - при нажатии любой кнопки. Выражение LastButton возвращает индекс нажатой кнопки.
8. On any button released - при отпускании любой кнопки. Выражение LastButton возвращает индекс нажатой кнопки.
9. On button index pressed - при нажатии определенной кнопки.
10. On button index released - при отпускании определенной кнопки.

Выражения объекта "Геймпад"

1. Axis(Gamepad, Index) - возвращает текущую позицию аналогового джойстика на конкретном устройстве. Индекс уточняет, что возвращать (левые аналоговые Х/У или правые аналоговые Х/У. Оси принимают значения от -100 до 100. Значения внутри мертвых зон возвращаются как 0.
2. Button(Gamepad, Index) - возвращает текущую значение нажатой клавиши на заданном геймпаде. Нумерация устройств с 0. Возвращенное значение зависит от особенностей кнопки: если кнопка чувствительная к силе нажатия, то возвращает любое значение от 0 до 100 в зависимости от силы нажатия. Кнопки без чувствительности к силе нажатия просто обнаруживают использование условия Is button down.
3. GamepadCount - возвращает число подключенных на момент проверки геймпадов. Для того, чтобы предотвратить отслеживать сайтами подключенные к компьютеру устройства, до первого совершенного действия в большинстве браузеров будет считаться, что контроллер не подключен.
4. GamepadID(Gamepad) - строка, представляющая название и фирму изготовителя геймпада, например, "XBox 360 controller". Работтосопособность зависит от системы и от браузера.
5. LastButton - возвращает числовой индекс последней нажатой кнопки. Полезно в триггерах On any button pressed и On any button released triggers для настройки управления.
6. RawAxis(Gamepad, Index) - возвращает оси прямого ввода и индекс оси. Возвращает без картографирования кнопок и без применения аналоговой мертвой зоны. Значения от - 100 до 100.
7. RawAxisCount(Gamepad) = возвращает число доступных осей в прямом вводе. Без картографирования кнопок.
8. RawButton(Gamepad, Index) - возвращает индекс нажатой кнопки для прямого ввода. Значения от 0 до 100 для кнопок, чувствительных к силе нажатия.
9. RawButtonCount(Gamepad) - возвращает число кнопок, доступных в raw вводе для специального устройства. Возвращает значение без составления карты кнопок.
Аватара пользователя

Игродел
Сообщений: 49
Я тут с 07 фев 2014
Откуда: Санкт-Петербург, Москва
Репутация 61 [ ? ]

Сообщение Scirra Arcade
» 12 фев 2014, 16:33

Scirra Arcade


Оригинал: Описание объекта + экспорт на Scirra Arcade
Обратно в каталог плагинов.

Описание объекта:
Плагин Scirra Arcade позволяет создавать таблицу лучших результатов для игр, размещенных в Scirra Arcade. Обычно это очень просто - стандартно используется одно действие для того, чтобы подать результат пользователя. Как только подано несколько результатов, Scirra Arcade автоматически создает таблицу лучших результатов. Объект также предоставляет возможность выводить лучшие результаты внутри самой игры.

Игры могут подавать либо лучшее время, либо лучшие очки, либо очки с учетом времени (подает очки, но одинаковые сортируются по времени. Если возможно, рекомендуется использовать последний вариант, потому что это позволяет ранжировать пользователей с одинаковыми очками.

Условия объекта Scirra Arcade

1. On hi-scores received - триггер, запускается после успешного получения лучших очков в результате ответа на действие Request hi-scores (запросить лучшие результаты).

Действия объекта Scirra Arcade

1. Request hi-scores - запросить лучшие результаты. Запрашивает список лучших результатов с сервера. Когда результаты получены, запускается триггер On hi-scores received и выражения лучших результатов могут быть использованы.
2. Submit best time - подать лучшее время. Подает в секундах время игрока, который только что закончил игру.
3. Submit score - подает набранные очки игрока.
4. Submit timed score - подает набранные очки и затраченное время (сначала сортируется по очкам, затем по времени)

Выражения Scirra Arcade

1. HiScoreCount - возвращает запрошенное количество лучших результатов в таблице, запрошенное клиентом.
2. HiScoreAt, HiScoreNameAt, HiScoreRankAt, HiScoreTimeAt - возвращает детали запрошенного результата (нумерация с 0). Набранные очки, Имя, Позиция в рейтинге, Затраченное время.

Экспорт игры на Scirra Arcade.

Scirra Arcade позволяет поделиться своей игрой с миром на сайте Scirra.

Ограничения.
В настоящее время Scirra Arcade поддерживает только встроенные плагины и поведения, за исключением платформа-специфичных плагинов (например, объект Windows 8). Также объект Браузер имеет ограничение: любое действие перехода на другую страницу будет заблокировано из соображений безопасности. Также в настоящий момент не поддерживаются все неофициальные (написанные пользователями) плагины. В будущем создатели программы предполагают возможность разрешить использовать сторонние плагины после тщательной проверки для того, чтобы Scirra Arcade оставалась безопасной площадкой для игр.

Поддержка полного экрана.
В настоящий момент поддержка открытия игры в полном экране в Scirra Arcade не предоставляется. Но вы можете переключиться в полный экран из самой игры. Просто используйте действие объекта Браузер Request fullscreen и игра должна быть доступна в полноэкранном режиме. Обратите внимание, что для этого вам следует обеспечить поддержку разных размеров экрана.

Hi-scores (таблица результатов)
Добавьте объект Scirra Arcade к вашему проекту, это обеспечит доступ к действиям для публикации результатов. Как только несколько результатов будут поданы, таблица лучших результатов автоматически появится на сайте на странице игры. Вы можете также сделать таблицу лучших результатов внутри игры, используя выражения объекта помле запроса лучших результатов.

Экспорт в формате Arcade
Как только ваша игра готова, нажмите Export project и выберите Scirra Arcade. Экспорт не будет работать, если вы выберете стандартную опцию HTML5 Website.
Удостоверьтесь, что выбрали для экспорта нужную вам директорию. При нажатии на экспорт, вы получите упакованный файл game.zip. Это то, что вам нужно загрузить на Scirra Arcade. Нажмите Submit Game для подачи вашей игры.

Как только вы загрузили вашу игру, вам также требует обеспечить тайл размером 280x233 для представления вашей игры вместе с рядом дополнительной информации, если вы не задали ее внутри проекта Construct 2. Подача игр на Arcade модерируется, поэтому вам, возможно, потребуется подождать день или два, для того, чтобы модератор проверил вашу игру. Как только это сделано, ваша игра окажется доступной для игры.
Аватара пользователя

Игродел
Сообщений: 49
Я тут с 07 фев 2014
Откуда: Санкт-Петербург, Москва
Репутация 61 [ ? ]

Сообщение Условия объекта System
» 13 фев 2014, 01:32

Условия объекта System


Оригинал.
Обратно в каталог плагинов.


Эта секция описывает все условия встроенного системного объект.

I. General (Общие)

1. Compare two values - сравнить 2 значения. Сравнивает 2 выражения (которые могут быть либо текстом, либо числами). Могут сравниваться как Equal (равны), Not equal (не равны), Less (меньше), Less or equal (меньше или равны), Greater (больше) или Greater or equal (больше или равны).
2. Every tick - условие, которое всегда истинно. Один раз в тик - это примерно 60 раз в секунду на большинстве компьютеров. Добавление этого условия вместе с другим является избыточным и не будет иметь эффекта.
3. Is between values - проверяет, находится ли число между двух значений (больше или равно нижней границы и меньше или равно верхней границе).
4. Is group active - проверяет активна или нет группа событий. Для определения о какой группе идет речь, указывается ее имя.
5. Object UID exists - проверяет существует ли объект с таким уникальным идентификатором. Для более подробной информации о UID смотрите мануал по общим для объектов свойствам.
6. Test regex - проверяет совпадает ли заданная строка с регулярным выражением (regular expression) с флагами. Возвращает только истинный или ложный результат. Для более тонкого использования регулярных выражений, смотрите мануал по системным выражениям****.

II. Global & local variables (глобальные и локальные переменные).

1. Compare variable - сравнивает значение переменной. Переменные событий могу сохранять и числа и строки. Могут сравниваться как Equal (равны), Not equal (не равны), Less (меньше), Less or equal (меньше или равны), Greater (больше) или Greater or equal (больше или равны).

III. Layers & Layout (слои и макет).

1. Compare opacity - сравнивает прозрачность слоя. Если 0, то полностью прозрачный, если 100, то полностью непрозрачный. Прозрачность слоя не может быть за пределами этих значений.
2. Effects are supported - истинно, если поддержка WebGL доступна, т.е. эффекты могут быть отображены. Для более подробной информации смотрите мануал по эффектам****.
3. Layer is visible - проверяет видим ли на момент проверки слой.
4. On canvas snapshot (при создании скриншота канваса) - триггер, запускается после системного действия Snapshot canvas (сделать скриншот канваса), когда скриншот получен. К нему можно получить доступ через системное выражение CanvasSnapshot.

IV. Loops (петли, циклы).
Все петли могут быть остановлены с помощью системного действия Stop Loop.

1. For - повторяет событие с учетом внутреннего индекса. При создании условия нужно задать имя цикла, стартовое значение индекса и конечное значение индекса. При каждом прохождении цикла индекс увеличивается на 1. Цикла заканчивается, когда достигается конечное значение индекса. Текущий индекс можно получить при помощи системного выражения LoopIndex.
2. For Each, For Each (ordered) - для каждого, для каждого в выбранном порядке. Повторяется для каждого выбранного экземпляра объекта (выбор можно уточнить, задав перед циклом ряд уточняющих условий, например с помощью переменных объекта). Смотрите мануал по тому, как работают события**** для более подробной информации. Цикл For Each обычно используется неправильно или избыточно - ведь даже без этого условия действия применяются к каждому экземпляру, который выбран в условиях, поэтому часто этот цикл просто не нужен. Однако если вы полностью понимаете, как работает система событий, то вы можете использовать это условие для того, чтобы предупредить программу о необходимости выполнить действие для каждого экземпляра в тех случаях, когда по умолчанию этого бы не происходило. Второе условие (ordered) позволяет задать порядок, в котором экземпляры будут итерированы (пересчет будет увеличен). Порядок задается при помощи выражения и выпадающего списка с ascending (сортировать по возрастанию) и descending (сортировать по убыванию). Например, сортировка по Sprite.Y, ascending будет осуществлять пересчет от верхних объектов-изображений к нижним.
3. Repeat - просто повторяет событие заданное число раз. При каждом повторении запускаются все действия и все подсобытия.
4. While (пока) - повторяет событие до тех пор, пока одно из остальных условий события не окажется ложным или не будет использоваться действие Stop loop (прервать цикл). Будьте осторожны, не создавайте бесконечные петли, которые могут вызвать зависание игры. Be careful not to create infinite loops which will cause the game to hang.

V. Pick instances (выбор объекта).

1. Pick all - выбрать все. Отменяет выбор только определенных экземпляров объекта. Все нижеследующие условия будут снова уточнять выбор из всего списка экземпляров объекта, а не только из выбранных до Pick all. Смотрите мануал по тому как работают события для более детальной информации о том, как выбираются экземпляры для событий. Полезно в подсобытиях для того, чтобы снова начать выбирать из полного списка экземпляров.
2. Pick by comparison - выбрать через сравнение. Выбирает все экземпляры объекта, которые удовлетворяют условию, заданному через сравнение. Например, с помощью этого условия становится возможным выбрать все экземпляры объекта, в которых координата Х, умноженная на 2 (Object.X * 2) меньше, чем координата У плюс 100 (Object.Y + 100). При помощи условий Compare X или Compare Y такое сделать невозможно.
3. Pick by evaluate - выбрать по результатам вычисления. Выбирает отдельные экземпляры объекта для которых после вычисления выражения возвращается любое значение, кроме 0. Наиболее полезно в связке с операторами сравнения и логическими операторами. Например, можно задать такое выражение: (Object.X > 100 & Object.Y > 100) | (Object.X < -100 & Object.Y < -100). Здесь & - означает "и" (т.е. истинно должно быть и то, что справа от оператора и то, что слева до скобок). | - означает "или", т.е. истинна должно быть либо правая сторона выражения, либо левая.
4. Pick Nth instance - выбирает экземпляр объекта с выбранным местом внутри списка выбранных объектов. Это наиболее полезно, когда используется в подсобытиях. Например, в событии "Sprite collided with Sprite" (спрайт сталкивается со спрайтом), Pick 0th instance (выбрать нулевой экземпляр) и Pick 1st instance помогут разделить события для разных вовлеченных в столкновение экземпляров. Если все объекты в настоящий момент выбраны, это условие также может быть использовано для выбора объекта по его индексному идентификатору (index ID, IID). Для более подробной информации смотрите общие особенности.
5. Pick overlapping point - выбирает все экземпляры данного объекта, которые перекрывают заданную точку на макете. Заданные координаты макета будут проверены относительно полигонов коллизии экземпляров объекта.
6. Pick random instance - выбирает случайный экземпляр из выбранных в настоящий момент объектов. Другими словами, если Pick random instance следует за другим условием, то случайный экземпляр будет выбран среди экземпляров, удовлетворяющих вышестоящему условию. В другом случае будет выбран случайный экземпляр среди всех экземпляров данного объекта.

VI. Специальные условия

1. Else - запускается в случае, если предыдущее событие не было запущенно. Обратите внимание, что данное условие не выбирает никаких объектов: если оно следует за событием, которое уточняет (сужает) выбор объектов, то в этом событии все экземпляры окажутся выбранными. Может следовать только за нормальными (не триггерными) событиями. Также может следовать за другим событием Else с набором иных сопутствующих условий для того, чтобы создать цепь, известную в программировании как"if - else if - else".
2. Is in preview - истинно, когда проект запущен в режиме предварительного просмотра (preview) и ложно, когда запущен после экспорта. Полезно добавить диагностическую и дебаггинг части программы в это условие.
3. Is on mobile device (проверка на то, что приложение запущено на мобильном устройстве) - пытается установить, является ли текущее устройство, на котором запущен проект мобильным (планшетом или телефоном). Это довольно сложно точно определить, поэтому результат определения может быть несовершенным: в ходе проверки могут встречаться некоторые мобильные системы, для которых Is on mobile окажется ложным и (хотя и реже) некоторые десктопные системы могут быть опознаны как мобильные. Это условие всегда возвращает истину, если упаковано при помощи PhoneGap/Intel XDK/CocoonJS контейнеров и все возвращает истину для устройств на платформах iOS, Android, Blackberry 10, Windows Phone и Tizen. Десктопные системы проверяются для Windows, Linux, OS 9, OS X, Solaris и BSD.
4. Is on platform - проверяет запущено ли приложение на заданной платформе, такой как Android или Windows 8 app. Обратите внимание, что несколько условий могут быть истинны одновременно. Например, если приложение запущено в браузере на Android, оба условия Is on platform Android и Is on platform HTML5 website будут истинны.
5. Trigger once while true - запустить один раз, пока истинно. Превращает ординарное событие (которое проверятся каждый тик) в триггер. Например, если событие проигрывает звук, когда жизнь персонажа становится равной 0, это событие будет запускаться 60 раз в секунду и звук вам не понравится. Добавление Trigger once while true после другого события запустит событие только один раз после того, как оно станет истинным. Должно быть последним условием в событии.

VII. Save & Load - сохранение и загрузка.

1. On load complete - когда загрузка закончена. Триггер, запускается после того, как системное действие Load успешно завершено. Для более подробной информации смотрите туториал How to make savegames (как делать сохранения в игре)****
2. On load failed - когда загрузка не удалась. Триггер, запускается после того, как системное действие Load было выполнено с ошибкой. Обычно это происходит потому, что слот сохранения пуст (еще не было сохранения). Для более подробной информации смотрите How to make savegames.
3. On save complete - когда сохранение закончено. Триггер, запускается после того, как системное действие Save успешно выполнено. Для более подробной информации смотрите How to make savegames.


VIII. Start & end (запуск и завершение)

1. On end of layout - в конце уровня. Триггер, запускается, когда уровень завершен. Это может быть вызвано тем, что пользователь проекта переходит на следующий уровень или когда проект закрывается.
2. On start of layout - на старте уровня. Триггер, запускается, когда уровень начинается.
3. On loader layout complete - при завершении загрузки уровня (макета). Триггер, запускается, когда прогресс загрузки уровня (макета) достиг 100. Для более подробной информации смотрите, как использовать загрузчик уровней (макетов) для того, чтобы создавать загрузочные экраны.****

IX. Time (время)

1. Compare time - сравнивает время, в секундах, которое прошло с момента, когда игра началась. Например, события могут быть установлены на момент, когда время станет равным 10 секундам.
2. Every X seconds - каждые Х секунд. Регулярно запускает событие через заданные в секундах интервалы времени. Это также может быть использовано под другими событиями для того, чтобы события запускались в заданные промежутки времени только тогда, когда остальные условия истинны. Например, пользователь зажимает пробел И каждые полсекунды стреляет из лазера.
Аватара пользователя

Игродел
Сообщений: 49
Я тут с 07 фев 2014
Откуда: Санкт-Петербург, Москва
Репутация 61 [ ? ]

Сообщение Node-Webkit
» 13 фев 2014, 17:27

Node-Webkit


Оригинал.
Обратно в каталог плагинов.

Что такое Node-Webkit?
Node-Webkit - это автономная версия браузера Google Chrome, но выглядящая как стандартное десктопное приложение (поэтому внутри приложения не будет панелей браузера, панели адресов, кнопок назад-вперед и так далее). При экспорте Node-Webkit позволяет вам использовать ваше приложение как автономное десктопное на Windows, Mac и Linux и не требует установки какого-либо другого браузера.

Объект Node-Webkit позволяет получить доступ к специфичным возможностям экспортера Node-Webkit, таким как чтение и запись файлов на локальный диск.
Обратите внимание, что объект AJAX может читать файлы из папки приложения (но не перезаписывать их). Это может помочь вам реализовать чтение файлов в кроссплатформенной манере. Также обратите внимание, что объект AJAX читает файлы в асинхронном режиме, в то время как Node-Webkit выполняет все операции синхронно.

Предварительный просмотр.
Так как Node-Webkit основан на Google Chrome, то обычно предварительный просмотр в хроме будет абсолютно тождественен тому результату, который мы получим при экспорте. Однако, ряд возможностей Node-Webkit не работают в хроме, поэтому для проверки этих возможностей в режиме предварительного просмотра следует использовать Node-Webkit в проектных свойствах предварительного просмотра для браузера. Это позволит вам протестировать ваше приложение с возможностями, которые предоставляет этот плагин.

Обратите внимание, что предварительный просмотр при помощи Node-Webkit запускает Node-Webkit прямо из установочной директории Construct 2. Как следствие, выражение AppFolder (папка приложения) вернет <install path>\exporters\html5\node-webkit\win32. Если это вызывает у вас проблемы, можно использовать следующее решение: задайте глобальную строковую переменную. Если условие 'Is in preview' истинно, то установите в переменную прямую ссылку на ваше приложение (hard-code path), например, "C:\MyGame\MyFile.txt" (можно скопировать полный путь из проводника). В другом случае, установите в переменную NodeWebkit.AppFolder. Эту переменную вы будете использовать вместо выражения AppFolder.

Надо отметить, что использование hard-code paths (например, "C:\MyGame\MyFile.txt") считается плохим тоном. Это недружелюбно по отношению к пользователям. Во многих случаях, не все пользователи смогут получить административное разрешение на получение этих файлов.

Одним из вариантов решения этой проблемы может стать запись файлов в папку приложения. Однако, это может не работать, так как на многих версиях Windows папка Program Files запрашивает разрешение администратора на запись файлов в себя, позволяя лишь чтение файлов без запроса.

Решением может стать запись в папку пользователя, куда приложение почти всегда может записывать не спрашивая разрешения у администратора. Эта возможность предоставляется при помощи выражения UserFolder. Корректный способ задания пути в папку пользователя, выглядит так: NodeWebkit.UserFolder & "myfile.txt"
Если вам требуется только читать файлы, и вам нет необходимости их перезаписывать, то вы можете безопасно использовать папку приложения при помощи выражения NodeWebkit.AppFolder.

Кодировка текстового файла.
Объект Node-Webkit имеет возможность читать и записывать текстовые файлы на диск. Для возможности поддержки всех возможных языков, он всегда читает файлы, используя UTF-8 кодировку. Для того, чтобы быть увренным в правильном прочтении файлов, удостоверьтесь, что они кодированы при помощи UTF-8.

Условия объекта Node-Webkit

1. On folder dialog OK - при нажатии на кнопку диалога ОК. Триггер, запускается после действия Show folder dialog (показать диалог папки), когда пользователь нажимает кнопку ОК. Выражение ChosenPath содержит путь к выбранной папке.
2. On open dialog OK - то же, что и предыдущее, но после действия Show open dialog (показать диалог открытия файла). Выражение ChosenPath содержит путь к открытому файлу.
3. On save dialog OK- то же, что и предыдущее, но после действия Show save dialog(показать диалог сохранения файла). Выражение ChosenPath содержит путь к сохраненному файлу.
4. On file dropped - при перетаскивании файла. Триггер, запускается, когда пользователь перетаскивает файл в окно приложения. Выражение DroppedFile содержит путь к перетащенному файлу, позволяя загрузить его для прочтения содержимого.
5. Path exists - проверяет, существует ли заданная папка или путь в пользовательской системе.

Действия Node-Webkit.

1. Clear clipboard - очищает буфер обмена. Пользователь не сможет вставить что-либо сразу после этого действия.
2. Set clipboard text - копирует заданный текст в буфер обмена. Такой же эффект, как если бы пользователь выделил какой-либо текст. Пользователь сможет вставить выбранный текст в любое другое приложение.
3. Show folder dialog - показать диалог папки. Открывает диалоговое окно для того, чтобы пользователь смог выбрать папку. При нажатии на ОК, запускается триггер On folder dialog OK и через выражение ChosenPath становится доступным путь к выбранной папке.
4. Show open dialog - показать диалог открытия файла. Открывает диалоговое окно, позволящее пользователю выбрать файл на их локальной системе. При нажатии на ОК, запускается триггер On open dialog и через выражение ChosenPath становится доступным путь к выбранному файлу. Параметр Accept - это разделенный через запятую список расширений, которые диалоговое окно использует в качестве фильтра файлов. Например,".txt,.json" покажет только .txt и .json файлы, а "text/*" позволит фильтровать все файлы с текстовым MIME типом файла.
5. Show save dialog - то же, что и предыдущее, но для сохраняемого файла.
6. Append file - добавляет текст к концу файла. Это обычно быстрее, чем полностью перезаписывать файл с новым контентом в конце. Эта функция может быть полезна для составления логов.
7. Copy file - копирует файл в новое место.
8. Create folder - создает папку в локальной системе пользователя.
9. Delete file - удаляет файл из локальной системы пользователя. Будьте аккуратны с использованием этой функции, поскольку ошибка может вызвать удаление полезного файла.
10. List files - считывает список, состоящий из каждой подпапки и каждого файла в данной папке. После этого действия выражения ListCount и ListAt могут быть использованы.
11. Move file - делает копию файла в новом месте на диске, затем удаляет старый файл.
12. Open browser - открывает заданную ссылку в браузере по умолчанию.
13. Rename file - задает новое имя для файла.
14. Run file - запускает файл. Это аналог двойного щелчка мышью на файле. Для исполняемых программ это эквивалентно запуску программы. Для остальных файловых типов это будет открывать ассоциированную с этим типом программу, например, редактор изображений или текстовой редактор по умолчанию.
15. Write file - записать файл. Записывает текстовой файл на диск пользователя. Если файл не существует, он создается. Если файл уже существует, то содержимое перезаписывается.
16. Maximize - разворачивает окно на полный экран. Приложение заполнит большую часть экрана.
17. Minimize - свернуть окно.
18. Request attention - осуществляет доступ к специфичному относительно операционной системы действию для того, чтобы привлечь внимание пользователя, например, мигание титульной панели окна.
19. Restore - восстанавливает размеры окна после сворачивания.
20. Set always on top - устанавливает, будет ли появляться окно программы всегда поверх других окон или нет.
21. Set width/Set height - установить ширину и высоту окна. Это значение включает титульную панель и границы, поэтому актуальный размер игры может быть меньше.
22. Set maximum size/Set minimum size - установить максимальные значения, до которых можно изменять размер окна.
23. Set resizeable - включает или отключает возможность изменять размер окна.
24. Set title - установить текст заголовка.
25. Set X/Set Y - установить позицию окна на десктопе пользователя в пикселах относительно верхнего левого угла главного монитора.
26. Show dev tools - поскольку node-webkit основан на Chromium, это действие вызывает встроенные инструменты разработчика (консоль и дебаггер Javascript). Это может быть полезным для инспекции консольных сообщений или разработки плагинов при помощи Javascript SDK.
27. Unmaximize - отменяет максимизирование окна, возвращая его размеры к предыдущим занчениям.

Выражения Node-Webkit.

1. ClipboardText - текст буфера обмен. Текущий текст, который пользователь скопировал в буфер обмена. Позволяет автоматически вставлять текст.
2. ChosenPath - возвращает путь, который был выбран при помощи условий On folder dialog OK, On open dialog OK или On save dialog OK.
3. AppFolder - возвращает путь к папке приложения, включая первый слэш. Можно ожидать разрешение на чтение, но разрешение на запись не может быть гарантировано (например, папка Program Files в Windows запрашивает полномочия администратора для записи).
4. DroppedFile в On file dropped, путь к перетащенному в программу файлу.
5. FileSize(path) - возвращает размер заданного файла в байтах.
6. ListAt(index) - после действия List files возвращает имя заданной папки или файла. Нумерация, начинается с 0.
7. ListCount - после действия List files возвращает число файлов или папок в списке.
8. ReadFile(path) - открывает файл и возвращает его содержимое как строку. Обратите внимание, что каждый раз, когда используется это выражение, файл открывается и считывается с диска. Поэтому, если выражение используется дважды, файл открывается и считывается дважды, что может повлиять на производительность. Если необходимо, сначала присвойте содержимое файла переменной, а потом считывайте из нее.
9. UserFolder - возвращает путь к папке пользователя. И чтение и запись по умолчанию поддерживаются.
10. WindowWidth/WindowHeight - возвращает размер окна в пикселах с учетом заголовка окна и границ.
11. WindowTitle - возвращает текст, показываемый в заголовке окна.
12. WindowX/WindowY - возвращает положение окна относительно верхнего левого угла главного монитора пользователя.
Аватара пользователя

Игродел
Сообщений: 49
Я тут с 07 фев 2014
Откуда: Санкт-Петербург, Москва
Репутация 61 [ ? ]

Сообщение Действия объекта System
» 13 фев 2014, 21:22

Действия объекта System


Оригинал.
Обратно в каталог плагинов.

Эта секция описывает все действия встроенного объекта System. Действия описываются в том порядке, в каком они появляются в диалоге "Добавить Действие".

I. Display

1. Set canvas size - устанавливает размеры канваса, если отображается внутри страницы (например, если полноэкранный режим отключен).
2. Set fullscreen scaling - устанавливает свойство проекта Fullscreen scaling (масштабирование при полноэкранном режиме). Позволяет настраивать параметры качества отображения прямо внутри игры.
3. Snapshot canvas - сделать скриншот канваса. Запускает триггер On canvas snapshot, когда скриншот готов. В результате изображение может быть доступно при помощи системного выражения CanvasSnapshot. Может быть загружено в спрайт, или тайловый фон, послано на сервер, открыто при помощи объекта Браузер в новой вкладке.

II. General (общие).

1. Create object - создать объект. Создает новый экземпляр объекта на заданном слое в заданных координатах. Если выбрана семья, то создает экземпляр случайного объекта из выбранной семьи.
2. Go to layout/Go to layout (by name) - переход на уровень (макет). Перкулючает на другой макет проекта. Обратите внимание, что глобальные переменные по-прежнему сохраняют свои значения. Для того, чтобы сбросить их значения используйте системное действие Reset global variables.
3. Restart layout - перезапускает текущий уровень. Обратите внимание, что в отличии от Go to layout, это действие сбрасывает все группы событий в их первоначальное положение. Глобальные переменные не сбрасываются. Для того, чтобы сбросить их значения используйте системное действие Reset global variables.
4. Set group active - делает группы событий активными или нет. Никакое из условий неактивной группы не будет запущенно до тех пор, пока она не будет активирована снова. Обратиться к группе событий можно по ее имени.
5. Stop loop - останавливает Repeat, For или For each цикл, запущенный на момент проверки. Эти циклы являются системами событий. Остаток действий события и подсобытия будут все еще выполнены, но цикл не запустит следующее событие после этого действия.

III. Global & local variables (глобальные и локальные переменные).

1. Add to/Subtract from/Set value - добавляет, вычитает или перезаписывает значение выражения.
2. Reset global variables - сбрасывает значения глобальных переменных до их первоначальных значений.

IV. Layers & Layout

1. Set layer angle - вращает слой целиком на заданное количество градусов.
2. Set layer background color - устанавливает цвет фона слоя. Обратите внимание, что если слой прозрачен, то выставление значения в цвет фона не будет иметь эффекта до тех пор, пока слой не будет сделан непрозрачным.
3. Set layer effect enabled - применяет или отменяет выбранный эффект для текущего слоя. Это действие не может быть использовано для изменения параметров слоев с других макетов.
4. Set layer effect parameter - меняет значение одного из параметров эффекта, добавленного к слою на текущем макете. Это действие не может быть использовано для изменения параметров слоев с других макетов. Параметр задается через его индекс (нумерация с 0).
5. Set layer opacity - устанавливает прозрачность слоя целиком.
6. Set layer parallax - устанавливает уровни горизонтального и вертикального параллакса для слоя.
7. Set layer scale - устанавливает масштаб слоя целиком, принимая во внимание свойство слоя scale rate (насколько быстро нарастает масштаб).
8. Set layer scale rate - устанавливает одноименный параметр слоя, который влияет на то, как быстро изменяется масштаб.
9. Set layer transparent - устанавливает свойство прозрачности слоя. Если прозрачно (transparent), то слой невидим.
10. Set layer visible - показывает или скрывает слой в целом.
11. Set layout angle - поворачивает полный макет на заданное число градусов. Поворачивает все слои на макете.
12. Set layout effect enabled - применяет или отменяет выбранный эффект для текущего макета. Это действие не может быть использовано для изменения параметров других макетов.
13. Set layout effect parameter - меняет значение одного из параметров эффекта, добавленного к текущему макету. Это действие не может быть использовано для изменения параметров других макетов. Параметр задается через его индекс (нумерация с 0).
14. Set layout scale - устанавливает масштаб всего макета.

V. Save & Load (сохранение и загрузка).

1. Load - загружает состояние игры из сохраненного слота. После этого запускается триггер On load complete или On load failed, если слот не был сохранен до этого. Для более подробной информации смотри туториал "как делать сохранения игры".****
2. Load from JSON - загружает состояния игры из JSON строки, предварительно полученной из системного выражения SaveStateJSON.
3. Save - сохраняет состояние игры в слот сохранения. После этого запускается On save complete.

VI. Scrolling (скроллинг).
Для того, чтобы осуществлять скроллинг, размер макета должен быть больше размеров экрана или свойство макета Unbounded scrolling (неограниченный скроллинг) должно быть установлено в положение Yes.

1. Scroll to object - центрирует просмотр на заданном объекте. Прокручивает все слои, принимая во внимание их свойство параллакса.
2. Scroll to position/Scroll to X/Scroll to Y - устанавливает координаты в центр просмотра. Прокручивает все слои, принимая во внимание их свойство параллакса.

VII. Time

1. Set time scale - установить шкалу времени. Изменяет скорость течения времени в игре. Полезно для режима slow-motion ("слоумоушн", замедленное движение). По этой теме будет переведен отдельный туториал****
2. Set object time scale/Restore object time scale - изменяет течение времени для отдельного объекта. Оказывает влияние на поведения объекта и его собственное выражение dt. Второе действие возвращает шкалу времени объекта к шкале времени игры.
3. Wait - ждет заданное количество секунд перед продолжением выполнения последующих действий или подсобытий. Не оказывает влияния на другие события. Для более подробной информации смотрите перевод туториала по этому действию.
Аватара пользователя

Игродел
Сообщений: 49
Я тут с 07 фев 2014
Откуда: Санкт-Петербург, Москва
Репутация 61 [ ? ]

Сообщение Каталог плагинов
» 04 май 2014, 17:26

В листе плагинов нет мультиплеера...
Похоть Петербурга
Аватара пользователя

Модератор
Сообщений: 2252
Я тут с 11 окт 2013
Откуда: Санкт-Петербург
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 236 [ ? ]

Сообщение Каталог плагинов
» 04 май 2014, 18:30

endermAH писал(а):В листе плагинов нет мультиплеера...

потому что на момент написания этого списка его еще небыло
Аватара пользователя

Администратор
Сообщений: 6304
Я тут с 05 сен 2012
Двиг: Construct2
Лицензия: Personal
VK: gabrielsailergray
Репутация 437 [ ? ]

Сообщение Каталог плагинов
» 05 май 2014, 15:08

Sailer писал(а):потому что на момент написания этого списка его еще небыло

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

Модератор
Сообщений: 2252
Я тут с 11 окт 2013
Откуда: Санкт-Петербург
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 236 [ ? ]

Сообщение Каталог плагинов
» 06 май 2014, 17:44

endermAH писал(а):
Sailer писал(а):потому что на момент написания этого списка его еще небыло

Я просто к тому, что не плохо бы его добавить...

добавил :ok:
Аватара пользователя

Администратор
Сообщений: 6304
Я тут с 05 сен 2012
Двиг: Construct2
Лицензия: Personal
VK: gabrielsailergray
Репутация 437 [ ? ]

Сообщение Каталог плагинов
» 09 авг 2014, 01:42

А почему перестали писать описание плагинов? Очень было бы интересно все почитать!
Аватара пользователя

Участник
Сообщений: 69
Я тут с 05 авг 2014
Репутация 0 [ ? ]



Вернуться в Лучшие уроки по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх