![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2009
Сообщений: 14
|
Доброго времени суток.
Имею довольно ограниченные знания по AS, пишу на AS2 свой диплом. Диплом - это квестовая игра. Иногда возникают затыки. Затыки буду описывать по порядку. Чтобы темы не плодить. Так ведь можно? Да? Итак, затык номер 1. У меня на локации несколько объектов. Кликаешь на объект - внизу появляется текстовый коммент, что это за объект. Висит это сообщение 4 секунды (например), а потом исчезает. Пользуюсь функцией SetTimeout. var mind:String = "";//То что говорит герой об объекте //Картина pic.onPress = function(){ p=setTimeout(empty,1000*4); mind = "Картина. Висит. "; } pic.onRelease = function(){ clearTimeout(p); } function empty(){ mind = ""; } //Книга book.onPress = function(){ b=setTimeout(empty,1000*4); mind = "Книга лежит на столе"; } book.onRelease = function(){ clearTimeout(b); } function empty(){ mind = ""; } Потому что я например нажал на "Картину", подождал 2 секунды и нажал на "Книгу". Должно быть: 2 секунды текста о "Картине" и 4 секунды текста о "Книге". А вместо этого - 2 секунды о "Картине" и 2 секунды о "Книге" Что я не так делаю? |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 14
|
Так. По всплывающему тексту теперь всё как надо. Большое спасибо!
Затык номер 2. По своей структуре диплом будет представлять собой "родительскую" флэшку, в которую будут подгружаться "дочерние". Потому что иначе если всё компилировать в один файл - грузиться он будет фиг знает как долго (это мы уже проходили) Как я понял - единственный метод такой сцепки - использовать функцию loadMovieNum(); Пример: у меня 2 флэшки - родительская loc1.swf, дочерняя loc2.swf В первой я прописываю переменную var quadro:Boolean = false; Во второй условие - что если quadro = false то у объекта bquad параметр _visible = false; 1) Как сделать так, чтобы при подгрузке "дочерней" флэшки значение переменной quadro из "родительской" на неё повлияло и объект bquad действительно стал невидимым? 2) Есть ли другие методы сцепки разрозненных swf роликов? * использование браузера в качестве посредника крайне не приветствуется. Проект хочется запускать в режиме fullscreen. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну если непременно loadMovieNum, то Вы, видимо, имеете в виду ЗАМЕНУ свф-файла в плеере. Передать какой-то параметр при этом можно только через объект Global, и то не факт))) Мне вот только непонятно, что заставляет Вас так извращаться - неужели нельзя нормально подгрузить вторую флэшку В ПЕРВУЮ не выгружая эту первую, как собственно и делается во всех сайтах (к примеру)? Не ищете легких путей?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 14
|
Wolsh
Я бы с удовольствием искал пути лёгкие. Просто в AS я разбираюсь плохо. А проект сдать надо. Потому постепенно осваиваю, ошибаюсь, что-то делаю вверх ногами.. Как подгрузить вторую флешку в первую? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну извините, если что - не всегда можно сразу определить уровень опыта того кто спрашивает.
Подгружать лучше всего - используя класс MovieClipLoader. Он хорошо описан в хелпе и есть там пример, а на форуме просто пруд пруди - загрузка внешних файлов свф или картинок осуществляется одинаково - надо ли говорить, что это самая востребованная операция? Вкратце по-русски: создаете пустой мувиклип (createEmptyMovieClip), создаете новый экземпляр класса MovieClipLoader через new, добавляете ему слушателя сообщений о событиях (в отличие от ас1-методов лоадМуви и лоадМувиНум этот класс отлично сообщает о всех стадиях загрузки) - в хелпе для этого создается новый Object, в реальности же это не обязательно - слушать может любой объект, хоть рут. Слушателю назначаете метод, которым обрабатывать события лоадера, ну и собственно начинаете загрузку.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 14
|
Чтобы не плодить темы, напишу в собственной старой.
Продолжаю изыскания в области AS2 Допустим, у меня имеется кнопка (назову её starter) и имеется мувиклип (mc_1) с анимацией, в 1-м кадре которого прописан stop(); Для запуска анимации mc_1 кнопкой starter я пишу в кадре сцены код: Всё работает. Теперь допустим, что есть мувиклип mc_2 (с таким же stop() в первом кадре), который содержится в отдельном swf, загружаемом функцией loadMovieNum на level1 Задача: при нажатии на кнопку starter запустить и mc_1 и mc_2 одновременно. Как в AS прописать обращение к мувиклипу флэшки подгружаемой извне? И возможно ли это? |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:43. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| clearTimeout , settimeout , игра , квест |
|
|