![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|
|
|||||
|
Ничччего не понимаю!
Я прекрасно понимаю описание ActionScript в принципе, но не могу внятно уложить у себя в голове, куда это всё присобачивать! Допустим, и меня есть мультик В библиотеке есть символ разновидности MovieClip (рычаг управления), который состоит из ещё одного символа MovieClip (щель рычага) и из Button (головка рычага). На мультик положено два экземпляра рычага. Если я тупо размещу присваивание a = 12 в следующих местах: 1) привяжу к первому экземпляру 2) привяжу ко второму экземпляру 3) привяжу к первому кадру внутри рычага еще в библиотеке 4) привяжу к щели ещё в библиотеке 5) привяжу к головке ещё в библиотеке 6) различаются ли варианты 3-5 в заивисмости от экземпляра рычага? То как мне обращаться к этой переменной, допустим, из кадра основой последовательности? Например, я прочитал в справке, что у Button есть свойство selected, однако обращение к этому свойству возвращает undefined Я написал обработчки on(press) и в нём сделал присваивание selected = true; но я всё равно не могу найти эту переменную, обращаясь из скрипта, привязанного к щели. Почему? Димс.
__________________
Димс |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Этот несложный кусочек кода покажет тебе, где находятся какие объекты и переменные, и позволит лучше понять, как к ним обращаться. Вызывать эту функцию следует ПОСЛЕ того, каку тебя будут объявлены интересующие тебя переменные.
_global.traceobject = traceobject;
function traceobject(target, prefix) {
for (var item in target) {
var type = typeof(target[item]);
trace(prefix + item + ":" + type + " = " + target[item]);
if (target[item] instanceof Object) traceobject(target[item], prefix + " ");
}
}
traceobject(_root, "");
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Прошу прощения за тупость, но пользоваться-то этой функцией как? :-)
надо вызвать traceobject(_root, "<моя переменная>")?
__________________
Димс |
|
|||||
|
Короче!
Как я понял вопрос. Тебе нужно понять, как обращаться к переменным внутри клипов и обратно! То что я написал это для полного нуля самый раз: Сейчас расскажу как я это вижу. Есть root это первый кадр и главная точка отчета. И теперь если создать МувиКлип и назвать его clip то чтоб до него достучаться, нужно писать root.clip (_root. Можно не писать, если код будет на первом кадре (потому что _root это и есть первый кадр))! Теперь создадим внутри Мувика с именем clip, еще Мувик и дадим ему имя qq! Соответственно чтоб добраться до него нужно писать _root.clip.qq это полный путь. Теперь с переменными. Если создать переменную на первом кадре, создадим переменную a=50, то чтоб добраться до ее значения нужно писать _root.a (для проверки используйте код trace(_root.a) эта команда выведет значение в системном окне)! Теперь сделаем переменную внутри Мувика clip. Есть два способа. Первй написать на кадре внутри МувиКлипа или написать на Мувеклипе лишь выделив его... во втором случае нужно использовать функцию onClipEvent! Мы создадим просто переменную внутри на кадре. И назовем ее b. скажем b=15 и для ее вызова потребуется путь _root.clip.b. А теперь я хочу создать переменную w в Мувике qq, и присвоить ей значение переменной b! Для этого я зайду в Мувик qq и на кадре напишу w=_root.clip.b Теперь для проверки я выду не первый кадр и напишу. trace(clip.qq.w) //можно не писать _root. Я и тек на нем! Зная это можно вполне оперировать данными в сцене. Есть еще такие команды как _parent. This. для начала можно обойтись и без них!... |
|
|||||
|
MoHaX, спасибо. Я примерно так себе всё и представлю.
Но у меня вызывают жуткое, до ступора, смущение следующие факты. Вот ты написал "назвать". А что значит назвать? Можно назвать объект в библиотеке, а можно назвать instance name-ом. Какоё из имён будет использоваться? А если у меня две копии объекта из библиотеки? Я хочу создать законченный мувик, который лежал бы себе в библиотеке и который был бы рычагом. Выкладываешь его на фильм - на тебе рычаг управления...
__________________
Димс |
|
|||||
|
А ещё, я не понимаю, если код привязан к первому кадру мувика, то ведь мувик прокручивается циклически. Будет ли код выполняться столько раз, сколько прокрутился мувик?
__________________
Димс |
|
|||||
|
Конкретизирую.
Рычаг - это мувик клип, который состоит из двух мувиков - прорезь (клип) и ручка (кнопка). Ручка имеет instance name theKnot. К прорези привязан следующий код К ручке привязан следующий код on (press) {
this.selected = true;
trace(this.selected);
}
on (release) {
this.selected = false;
trace(this.selected);
}
1) первый код всегда показывает undefined 2) второй код работает нормально 3) никак не затрагивается свойство selected, которое должно быть у кнопки
__________________
Димс |
|
|||||
|
Имя которое я назначал мумику это есть instance name!!!
А в остальном ты лучше дай исходник и напиши что хочеш сделоть!! А то я совсем запутался в твоих рычегах! |
|
|||||
|
Я уже, кажется, разобрался.
Имена, которые привязаны к мувику-кнопке и употребляются в конструкции on(событие) - находятся на уровне мувика, а имена, которые привязаны к мувику-клипу и употребляются внутри конструкции onClipEvent() находятся внутри мувика.
__________________
Димс |
|
|||||
|
Banned
Регистрация: Dec 2003
Сообщений: 3,925
|
Понятия "мувик-кнопка" нет. Слово this по отношению к кнопке указывает на Таймлайн, в котором она находится.
А при случае с мувиком -- на него самого. Все. |
![]() |
Часовой пояс GMT +4, время: 15:30. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|