Scene — различия между версиями
Vefimov (обсуждение | вклад) м (→Добавляемые параметры) |
Lkunica (обсуждение | вклад) (→Состояния Сцены) |
||
Строка 177: | Строка 177: | ||
== Состояния Сцены == | == Состояния Сцены == | ||
− | '''focus''' - | + | '''focus''' - Перемещает объект указанный в поле '''объект''' группы '''фокус''' в фокус сцены. |
+ | '''update''' - Обновляет параметры/свойства сцены. Чаще всего, приходится менять таскаемость и растягиваемость. После изменения парметров следует сделать update, а не init. | ||
[[Category:Common objects]] | [[Category:Common objects]] |
Версия 09:41, 20 апреля 2015
Параметры Сцены
- Группа - Инициализация :
- Выравнивание ( align ) - выравнивание границ сцены относительно границ экрана. Заметно, если размеры сцены и размеры экрана отличаются. Значения от -1 до 5:
- 0 - не работает ( при ините вписывает сцену как 2);
- 1 - не работает ( при ините вписывает сцену как 3);
- 2 - сцена вписывается в экран, сохраняя пропорции, при ините и анимировании;
- 3 - сцена вписывается в экран по границам с потерей пропорций, при ините и анимировании;
- 4 - вписывает экран в сцену, сохраняя пропорции, при ините и анимировании;
- 5 - инитится как 2 и переходит в 4;
- -1 - не применимо.
0 и 2 - сцена пропорционально сжимается, чтобы полностью поместиться в границы экрана, или пропорционально растягивается, пока не достигнет границ экрана по горизонтали или вертикали.
1 и 3 - сцена сжимается таким образом, чтобы ее границы полностью совпали с границами экрана, при этом пропорции сцены не сохраняются.
2 и 3 - срабатывает сразу при инициализации сцены и при анимировании ХидденХинтом (если используется скалирование).
0 и 1 - срабатывает только при анимировании ХидденХинтом. В таком случае при ините сцены она отображается без выравнивания, такой как мы видим ее в редакторе сцен, а выравнивание происходить только при анимировании.
- Левый бордюр ( border_left ) - левый бордюр сцены (значение в пикселях на сколько мы может оттянуть левый край сцены от левого края экрана)
- Правый бордюр ( border_right ) - правый бордюр сцены (значение в пикселях на сколько мы может оттянуть правый край сцены от правого края экрана)
- Верхний бордюр ( border_top ) - верхний бордюр сцены (значение в пикселях на сколько мы может оттянуть верхний край сцены от верхнего края экрана)
- Нижний бордюр ( border_bottom ) - нижний бордюр сцены (значение в пикселях на сколько мы может оттянуть нижний край сцены от нижнего края экрана)
- Смещение по горизонтали ( h_delta ) - допустимое смещение сцены по горизонтали при перетаскивании
- Смещение по вертикали ( v_delta ) - допустимое смещение сцены по вертикали при перетаскивании
После смещения когда мы отпускаем сцену она возвращается в свое крайнее (левое, правое, верхнее, нижнее) положение, заданное бордюрами.
Если мы в бордюре укажем к примеру 100 пикселей и в смещении еще 50, то сцену мы сможем оттянуть на 150 пикселей, но при отпускании она вернется в положение оттянутое на 100 пикселей от края экрана.
- Время восстановления ( tmRecovery ) - время анимации востановления начальных размеров(при скейле) и положении(при смещении) сцены.
- время начального експанда ( tmStartExp ) - время анимации при начальном експанде.
- тип границ экрана ( scrBorT ):
- 0 - по умолчанию app.icf;
- 1 - логические;
- 2 - физические.
Чтоб работало необходимо вкл. таскаемость см. ниже
- Положение:
- х ( x ) - Горизонтальная координата центра объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены;
- у ( y ) - Вертикальная координата центра объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены.
Обычно для того чтоб сцена расположилась в центре экрана нужно координаты сцены задать в два раза меньше размера экрана. (Если размер экрана 960*640 то сцена с координатами 480*320)
- Группа - Размер :
- w ( w ) - ширина сцены в пикселях;
- h ( h ) - высота сцены в пикселях.
- Группа - Модификаторы :
- alpha ( al ) - прозрачность: от 0 (прозрачен) до 1 (не прозрачен)
- angle ( ang ) - угол поворота в градусах (0 - не повёрнут). Отсчитывается от оси x вниз. Вверх - идут отрицательные углы
- scale x ( sx ) - масштаб по оси x (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.)
- scale y ( sy ) - масштаб по оси y (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.)
- z ( z ) - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим
- память ( memo ):
- 1 - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);
- 0 - обновит свои параметры, при повторном открытии экрана.
- Группа - Показ сцены :
- Время ( tm ) - время в ms показа сцены в рабочем состоянии (если определено поле переход)
- Переход ( scr ) - экран к которому нужно перейти после окончания времени показа сцены
- Растягиваемая ( stretch ):
- 1 - сцена может быть растянута (должно быть 1 если используем утку);
- 0 - сцена не может быть растянута.
- Таскаемая ( drag ):
- 0 - не таскается;
- 1 - сцену можно таскать мышкой (объекты должны быть прокликиваемые);
- 2 - можно таскать даже за объекты.
- Границы ( bound ):
- 0 - берутся из app.icf;
- 1 - сцена при таскании упирается в границы экрана (если она больше, то снаружи, если меньше, то изнутри);
- курсор ( curs ) - графический ресурс курсора текущего и всех дочерних объектов.
- Двойной тач ( doubletouch ):
- 0 - не обрабатывается;
- 1 - сцена обрабатывает двойной тач.
- Группа - оттяжка:
- оттяжка ( pul ) - Автоматическое возвращение сцены к краю при оттаскивании:
- по x ( puldx ) - Максимально допустимая оттяжка по x (меньше 0 - бесконечно);
- по y ( puldy ) - Максимально допустимая оттяжка по y (меньше 0 - бесконечно);
- замедление ( pula ) - Замедление движения сцены.
- Группа - Утка:
- утка ( duck ) - Масштабирование мультитачем:
- 0 - не работает;
- 1 - работает.
- min scale ( min scale ) - Минимальный коэффициент масштабирования (0.1);
- max scalе ( max scale ) - Максимальный коэффициент масштабирования (4);
- восстановление ( duck_restore ) - Восстанавливать размеры после минимизации:
- 0 - восстанавливать;
- 1 - не восстанавливать.
- Группа - отсечение - отсечение сцены прямоугольником в локальных координатах экрана:
- вкл ( ampIs ) - Масштабирование мультитачем:
- 0 - выкл;
- 1 - вкл.
- scrX ( ampX ) - X верхнего левого угла прямоугольника в лок. координатах экрана;
- scrY ( ampY ) - Y верхнего левого угла прямоугольника в лок. координатах экрана;
- scrW ( ampW ) - ширина прямоугольника в лок. координатах экрана;
- scrH ( ampH ) - высота прямоугольника в лок. координатах экрана.
- Открытие - Сцена может открыться (появится) не сразу, а выполнив определенные действия (выехать, проявиться по прозрачности и т.п.):
- пауза ( tmBeg ) - время в ms перед началом появления сцены;
- время ( tmOpn ) - время в ms процесса открытия сцены;
- x ( bX ) - начальная координата x из которой сцена будет выезжать при открытии;
- y ( bY ) - начальная координата y из которой сцена будет выезжать при открытии;
- alpha ( bAl ) - начальная прозрачность сцены ( от 0 до 1) при старте анимирования открытия:
- 0 - прозрачна;
- 1 - непрозрачна.
- angle ( bAng ) - начальный угол (в градусах) от которого сцена будет вращаться при появлении до рабочего угла;
- scale x ( bSX ) - начальный масштаб по оси x от которого сцена начнет открываться к масштабу, указанному в общем списке параметров;
- scale y ( bSY ) - начальный масштаб по оси y от которого сцена начнет открываться к масштабу, указанному в общем списке параметров.
- Закрытие - Сцена может закрыться (исчезнуть) не сразу, а выполнив определенные действия (уехать, растаять по прозрачности и т.п.)
- время ( tmCls ) - время в ms процесса закрытия сцены
- x ( eX ) - конечная координата x куда сцена будет уезжать при закрытии
- y ( eY ) - конечная координата y куда сцена будет уезжать при закрытии
- alpha ( eAl ) - Финальная прозрачность сцены (0-прозрачна, 1-непрозрачна) при её закрытии
- angle ( eAng ) - конечный угол (в градусах) к которому сцена будет вращаться при закрытии от рабочего угла
- scale x ( eSX ) - конечный масштаб по оси x к которому сцена будет закрываться
- scale y ( eSY ) - конечный масштаб по оси y к которому сцена будет закрываться
- Прокликиваемая ( passClk ) - как и любому объекту сцене можно задавать этот параметр
- 0 - не прозрачна для клика;
- 1 - сцена прозрачна для клика мышкой (пропускает объектам под ней);
- 2 - сцена сама обрабатывает клик, но и пропускает его дальше.
- Фокус - группа параметров, отвечающая за возможность фокусировки на объекте. Сцена может фокусироваться на объекты, которые находятся в ней:
- x ( focX ) - координата фокуса по х;
- y ( focY ) - координата фокуса по y;
- объект ( focObj ) - объект, который будет помещён в фокус;
- скорость ( focVel ) - скорость перемещения объекта в фокус;
- начало замедления ( focAccTm ) - расстояние с которого начинается замедление.
- направление ( focDir ) - Разрешенные направления движения:
- 0 - везде;
- 1 - горизонтально;
- 2 - вертикально;
- 3 - запрещена.
- инерция - Параметры инерционного движения сцены:
- включена ( iOn ) - Включена ли инерция:
- 0 - нет;
- 1 - да.
- масштаб ( iSc ) - Масштаб;
- мин. скорость ( iVMn ) - Минимальная скорость;
- макс. скорость ( iVMx ) - Максимальная скорость;
- время ( iTm ) - Время.
Отсчёт координат начинается с левого верхнего угла. Координата (0;0) - левый верхний угол сцены, центр для сцены (960х640) будет в точке с координатами (480;320).
Добавляемые параметры
слушатель начала таскания сцены ( drgbl ) - машина, которая переводится в состояние beg в момент начала таскания сцены. Кроме состояния машине передается вектор направления таскания в виде параметров dirx и diry (конец вектора). Таким образом можно узнать направление таскания:
- объект ( o ) - Объект, слушающий начало таскания сцены.
слушатель конца таскания сцены ( drgel ) - машина, которая переводится в состояние end в момент когда сцена прекращает движение:
- объект ( o ) - Объект, слушающий конец таскания сцены.
- сцена ( stg ) - ??;
- коэффициент ( k ) - ??.
Состояния Сцены
focus - Перемещает объект указанный в поле объект группы фокус в фокус сцены. update - Обновляет параметры/свойства сцены. Чаще всего, приходится менять таскаемость и растягиваемость. После изменения парметров следует сделать update, а не init.