Варианты создания и запуска скрипта
Материал из iRidium Mobile Wiki
Содержание
Запуск скрипта через создание слушателей
Слушатель - это функция, которая выполняется в случае срабатывания указанного ей события.
// Объявляем слушателя на события запуска приложения IR.AddListener(IR.EVENT_START, 0, function() { // Тело слушателя });
Пример запуска скрипта через написание слушателей
- Пример написанного слушателя:
IR.AddListener(IR.EVENT_START, 0, function() // Действия выполняемые при старте приложения { /* Создаем элемент типа Button и записываем его идентификатор в переменную button */ var button = IR.CreateItem(IR.ITEM_BUTTON, "button1", 10, 10); IR.AddListener(IR.EVENT_ITEM_PRESS, button, function() // Действия выполняемы при старте приложения { IR.Log("Hello World"); }); });
Примеры слушателей
- IR.EVENT_START - начало работы клиента
IR.AddListener(IR.EVENT_START, 0, function() //Выполнение действий по старту { IR.Log("Start"); });
- IR.EVENT_WORK - цикличное выполнение во время работы клиента
var timer = 0; var onTime = 800; // 800 ms = 0.8 s IR.AddListener(IR.EVENT_WORK, 0, function(time) //Выполнение действий при работе { timer += time; if(timer > onTime) { timer = 0; IR.Log("Click"); } });
- IR.EVENT_EXIT - выход из клиента
IR.AddListener(IR.EVENT_EXIT, 0, function() //Действие выполняется по выходу { IR.Log("Exit"); });
- IR.EVENT_ITEM_PRESS - нажатие на итем (итемом может быть объект, попап, страница)
IR.AddListener(IR.EVENT_START, 0, function() { var popup = IR.CreateItem(IR.ITEM_POPUP, "popup1", 150, 10, 200, 200); var button = IR.CreateItem(IR.ITEM_BUTTON, "button1", 10, 10); button.Text = "popup1"; IR.AddListener(IR.EVENT_ITEM_PRESS, button, function() { IR.TogglePopup("popup1"); }); });
- IR.EVENT_ITEM_RELEASE - отпускание элемента
IR.AddListener(IR.EVENT_START, 0, function() { var popup = IR.CreateItem(IR.ITEM_POPUP, "popup1", 150, 10, 200, 200); var button = IR.CreateItem(IR.ITEM_BUTTON, "button1", 10, 10); button.Text = "popup1"; IR.AddListener(IR.EVENT_ITEM_RELEASE, button, function() { IR.TogglePopup("popup1"); }); });
- IR.EVENT_ITEM_SELECT - клик на элемент списка
// Собыите, которое срабатывает при нажатии на Элемент списка IR.AddListener(IR.EVENT_ITEM_SELECT, IR.GetItem("Page 1").GetItem("Item 1"), function(item, subItem) { list.DeleteItem(item); // Удаляем третий элемент листа });
- IR.EVENT_GESTURE_BEGIN - начало жеста
var button; // Вызывается при старте IR.AddListener(IR.EVENT_START, 0, function() { // Создаем кнопку для переключения между страницами var button = IR.CreateItem(IR.ITEM_BUTTON, "text", 10, 10); button.Text = ""; // Жесты IR.AddRecognizer(IR.GESTURE_SWIPE_LEFT); IR.AddRecognizer(IR.GESTURE_SWIPE_RIGHT); IR.AddRecognizer(IR.GESTURE_SWIPE_UP); IR.AddRecognizer(IR.GESTURE_SWIPE_DOWN); IR.AddListener(IR.EVENT_GESTURE_BEGIN, IR.CurrentPage, function(gesture) { switch(gesture) { case IR.GESTURE_SWIPE_LEFT: button.Text = "Left"; break; case IR.GESTURE_SWIPE_RIGHT: button.Text = "Right"; break; case IR.GESTURE_SWIPE_UP: button.Text = "Up"; break; case IR.GESTURE_SWIPE_DOWN: button.Text = "Down"; break; } }); });
- IR.EVENT_ONLINE - подключение к устройству (драйверу)
IR.AddListener(IR.EVENT_ONLINE , 0, function() { IR.Log("Device is online"); });
- IR.EVENT_OFFLINE - отключение устройства (драйвера)
IR.AddListener(IR.EVENT_OFFLINE , 0, function() { IR.Log("Device is offline"); });
- IR.EVENT_RECEIVE_DATA - получение данных с устройства (бинарные данные)
IR.AddListener(IR.EVENT_RECEIVE_DATA , 0, function(text) { IR.Log(text); //Выводит информацию полученную от устройства в байт формате });
- IR.EVENT_RECEIVE_TEXT - получение данных с устройства (строковый формат)
IR.AddListener(IR.EVENT_RECEIVE_TEXT , 0, function(text) { IR.Log(text); //Выводит информацию полученную от устройства в строковом формате });
- IR.EVENT_TAG_CHANGE - изменение значения тега
IR.AddListener(IR.EVENT_TAG_CHANGE , 0, function(name,value) { IR.Log("Name = "+name+" value = "+value); //Выводит в консоль имя измененного тега и его новое значение });
- IR.EVENT_KEYBOARD_SHOW - открытие клавиатуры
IR.AddListener(IR.EVENT_KEYBOARD_SHOW, 0, function() { IR.Log("keyboard showed on screen"); });
- IR.EVENT_ORIENTATION - смена ориентации устройства
IR.AddListener(IR.EVENT_ORIENTATION, 0, function(orientation) //Событие срабатывает при смене ориентации устройства { IR.Log(orientation); //положение устройства(0 - горизонтальное, 1 - вертикальное) });
- IR.EVENT_MOUSE_DOWN - движение мыши вниз
IR.AddListener(IR.EVENT_MOUSE_DOWN, 0, function() { IR.Log("Mouse Down"); });
- IR.EVENT_MOUSE_UP - движение мыши вверх
IR.AddListener(IR.EVENT_MOUSE_UP, 0, function() { IR.Log("Mouse Up"); });
- IR.EVENT_MOUSE_MOVE - движение мыши в любом направлении
IR.AddListener(IR.EVENT_MOUSE_MOVE, 0, function() { IR.Log("Mouse Move"); });
- IR.EVENT_TOUCH_DOWN - движение пальцем вниз
IR.AddListener(IR.EVENT_TOUCH_DOWN, 0, function() { IR.Log("touch down"); });
- IR.EVENT_TOUCH_UP - движение пальцем вверх
IR.AddListener(IR.EVENT_TOUCH_UP, 0, function() { IR.Log("touch up"); });
- IR.EVENT_TOUCH_MOVE - движение пальцем в любую сторону
IR.AddListener(IR.EVENT_TOUCH_MOVE, 0, function() { IR.Log("touch move"); });
- IR.EVENT_ITEM_CHANGE - изменение элемента editbox
IR.AddListener(IR.EVENT_ITEM_CHANGE, IR.GetItem("Page 1").GetItem("Item 1"),function() //Событие происходит при изменении { IR.Log(IR.GetItem("Page 1").GetItem("Item 1").Text); //Происходит вывод в лог, то что изменяется });
Пример запуска скрипта используя макрос Script Call
В этом примере будет подробно описан алгоритм запуска скрипта используя Script Call средствами GUI редактора.
- Пример написанной функции:
function MyFunction() { IR.Log("Hello World"); }