Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 20.10.2004, 04:33
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 1  
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
По умолчанию Не могу понять идеологию программирования!

Ничччего не понимаю!

Я прекрасно понимаю описание ActionScript в принципе, но не могу внятно уложить у себя в голове, куда это всё присобачивать!

Допустим, и меня есть мультик

В библиотеке есть символ разновидности MovieClip (рычаг управления), который состоит из ещё одного символа MovieClip (щель рычага) и из Button (головка рычага).

На мультик положено два экземпляра рычага.

Если я тупо размещу присваивание a = 12 в следующих местах:

1) привяжу к первому экземпляру
2) привяжу ко второму экземпляру
3) привяжу к первому кадру внутри рычага еще в библиотеке
4) привяжу к щели ещё в библиотеке
5) привяжу к головке ещё в библиотеке
6) различаются ли варианты 3-5 в заивисмости от экземпляра рычага?

То как мне обращаться к этой переменной, допустим, из кадра основой последовательности?

Например, я прочитал в справке, что у Button есть свойство selected, однако обращение к этому свойству возвращает undefined

Я написал обработчки on(press) и в нём сделал присваивание selected = true; но я всё равно не могу найти эту переменную, обращаясь из скрипта, привязанного к щели. Почему?

Димс.
__________________
Димс

Старый 20.10.2004, 10:43
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 2  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: 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, "");
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 20.10.2004, 16:04
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 3  
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
Прошу прощения за тупость, но пользоваться-то этой функцией как? :-)

надо вызвать traceobject(_root, "<моя переменная>")?
__________________
Димс

Старый 20.10.2004, 20:41
MoHaX вне форума Посмотреть профиль Отправить личное сообщение для MoHaX Найти все сообщения от MoHaX
  № 4  
MoHaX
 
Аватар для MoHaX

Регистрация: Aug 2004
Сообщений: 422
Отправить сообщение для MoHaX с помощью ICQ
Короче!
Как я понял вопрос. Тебе нужно понять, как обращаться к переменным внутри клипов и обратно!
То что я написал это для полного нуля самый раз:

Сейчас расскажу как я это вижу. Есть 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. для начала можно обойтись и без них!...

Старый 22.10.2004, 04:03
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 5  
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
MoHaX, спасибо. Я примерно так себе всё и представлю.

Но у меня вызывают жуткое, до ступора, смущение следующие факты.

Вот ты написал "назвать". А что значит назвать? Можно назвать объект в библиотеке, а можно назвать instance name-ом. Какоё из имён будет использоваться?

А если у меня две копии объекта из библиотеки?

Я хочу создать законченный мувик, который лежал бы себе в библиотеке и который был бы рычагом. Выкладываешь его на фильм - на тебе рычаг управления...
__________________
Димс

Старый 22.10.2004, 04:05
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 6  
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
А ещё, я не понимаю, если код привязан к первому кадру мувика, то ведь мувик прокручивается циклически. Будет ли код выполняться столько раз, сколько прокрутился мувик?
__________________
Димс

Старый 22.10.2004, 04:17
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 7  
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
Конкретизирую.

Рычаг - это мувик клип, который состоит из двух мувиков - прорезь (клип) и ручка (кнопка).

Ручка имеет instance name theKnot.

К прорези привязан следующий код

Код:
onClipEvent (mouseMove) {
	trace(this._parent.theKnot.selected );
}
К ручке привязан следующий код

Код:
on (press) {
	this.selected = true;
	trace(this.selected);
}
on (release) {
	this.selected = false;
	trace(this.selected);
}
Почему:

1) первый код всегда показывает undefined

2) второй код работает нормально

3) никак не затрагивается свойство selected, которое должно быть у кнопки
__________________
Димс

Старый 23.10.2004, 20:23
MoHaX вне форума Посмотреть профиль Отправить личное сообщение для MoHaX Найти все сообщения от MoHaX
  № 8  
MoHaX
 
Аватар для MoHaX

Регистрация: Aug 2004
Сообщений: 422
Отправить сообщение для MoHaX с помощью ICQ
Имя которое я назначал мумику это есть instance name!!!

А в остальном ты лучше дай исходник и напиши что хочеш сделоть!! А то я совсем запутался в твоих рычегах!

Старый 24.10.2004, 02:02
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 9  
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
Я уже, кажется, разобрался.

Имена, которые привязаны к мувику-кнопке и употребляются в конструкции on(событие) - находятся на уровне мувика, а имена, которые привязаны к мувику-клипу и употребляются внутри конструкции onClipEvent() находятся внутри мувика.
__________________
Димс

Старый 24.10.2004, 05:00
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 10  
Antares
Banned
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Понятия "мувик-кнопка" нет. Слово this по отношению к кнопке указывает на Таймлайн, в котором она находится.

А при случае с мувиком -- на него самого. Все.

Создать новую тему   Часовой пояс GMT +4, время: 15:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.