MOLIER ART STUDIO
Вторник, 24.10.2017, 06:55
Приветствую Вас Гость | RSS
 
Главная Каталог файловРегистрацияВход
Форма входа
Меню сайта
Категории раздела
Исходники игр (source code) [18]
Игры [18]
Персонажи, спрайты [4]
Программы [26]
Книги [20]
QUEST [3]
Статьи [5]
Всё для игр [8]
Видео [5]
Звуки [4]
Мои файлы [6]
Файлы друзей [4]
Поиск
Подпишись
QUEST
Наша кнопка


[ Получить код баннера]
Реклама

$$$ для web-мастеров
Теги
Друзья сайта
Он лайн книга
форум по WME
Moя Фото Коллекция
Самоделкин, всё для творческих людей
Коллекция Звуков для игр
Моя библиотека
3koroba
Herzeleid
Дракон №3
Игродел
Мир анимашек
mgd-blog
WOlist.ru - каталог качественных сайтов Рунета
Создание игр, Конструкторы игр, Игровые движки
Коллекция Всё Для Игр
Коллекция картинок
Он лайн книга
Новости
Главная » Файлы » Мои файлы

Перемещение слоёв 1.3
19.08.2011, 01:00

Файл README.txt (есть в архиве):

------------------ЗАЧЕМ-ЭТО-НАДО?-------------------
Мне не понравилось, что работа с прокруктой сцены в WME - вещь весьма неочевидная и привязанная, по большей части, к перемещению персонажа, что не всегда удобно. Мне нужно было получить полный контроль над происходящим, что бы организовать более красивую и плавную иллюзию перемещения камеры в меню, где персонажа нету, а на переднем плане висит неподвижный, относительно камеры, текст. Стандартными средствами движка такого достичь не получилось, так что пришлось писать самому. Тем более, я посчитал, что это-весьма перспективно для будущих головоломок.

----------------------ОПИСАНИЕ----------------------
Скрипт добавляет 2 новых метода для объекта layer:
* Scroll (x,y,v) -перемещает слой (целиком, как entity, так и region). При этом игра приостанавливается до завершения перемещения.
* ScrollAsync(x,y,v) -тоже самое, только выполнение остальных скриптов продолжается, слой будет "ехать" на заднем фоне.
, где:
x,y - ВЕЛИЧИНА ПЕРЕМЕЩЕНИЯ по x и y соотвественно, (т.е. если взять x=-10, y=0, то слой переедет на 10 пикселей влево)
v - время, через которое слой приедет в указанную точку. Указыватся в милисекундах.
Почему так? Да потому что так удобнее. Лично я, при планировке сцен, уже знаю, какая область будет в камере и на сколько ей надо переехать.
Что касается скорости, то здесь тоже всё очевидно - важно рассчитывать время прибытия слоёв относительно друг друга. Т.е., если слои должны закончить перемещение одновременно, то достаточно просто указать одинаковые значения, а не высчитывать, сколько кому ехать.

---------------------ИСПОЛЬЗОВНИЕ---------------------
1. Положить файл layer.script в папку /scripts/
2. Ассоциировать переменную со слоем. Для этого в скрипте, где Вам нужно двигать слой пишите:
Code
var l1=Scene.GetLayer("int_obj"); //l1-имя переменной, может быть любой, int_obj -имя слоя, пишется в кавычках. Должно соответствовать имени вашего слоя! Или можно написать просто номер, без кавычек

3. Прикрепить скрипт к объекту (слою).
Code
l1.AttachScript("scripts\layer.script");

4. Собственно, подвинуть слой:
Code
l1.ScrollAsync (-1066,0,3000); //Двигает слой int_obj на 1066 пикселей влево. Слой прибудет в конечный пункт через ~3 секунды.


Примечание: Если вы однажды уже прикрепили к слою скрипт, то нигде более этого делать не надо, они уже надёжно связаны.
Например, у меня 2 кнопки. При нажатии на первую камера смещается так, чтобы было видно вторую. При нажатии на вторую камера ползёт обратно. В этом случае, я буду привязывать скрипт к слою (пункт 3) только один раз: в скрипте первой кнопки, хотя объявлять переменную придётся 2 раза.
Кстати, если хотите, можно объявлять всего один раз, написав вместо "var" "global", т.е. получится:
Code
global l1=Scene.GetLayer("int_obj");

Затем, в скрипте второй кнопки просто "подключиться" к этой глобальной переменной, написав в самом-самом начале скрипта
Code
global l1;


Вот и всё =) Задавайте вопросы, с радостью отвечу!

С уважением,
Ваш P1LL0TT.
Категория: Мои файлы | Добавил: P1LL0TT | Теги: script, LAYER, layers
Просмотров: 286 | Загрузок: 17 | Комментарии: 1


Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
РЕКЛАМА
$пасибо
Поддержите сайт
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Форум по WME
  • Moя Фото Коллекция
  • Всё для дачников
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Кто on-line?
    Кто нас сегодня посетил
    Пользователи
    Гости
    Статистика стран
    web counter
    free counters
    Глобус
    ClustrMaps
    Счетчики
    Рейтинг@Mail.ru
    Рейтинг сайтов

    Copyright MyCorp © 2017
    !!! На сайте могут находиться статьи, которые, честно и не помню, откуда они у меня появились, одним словом нет информации о первоисточнике и авторе, если на них наткнётся автор, просьба к нему написать мне, чтобы я смог поставить ссылку на источник. !!!