Просмотр полной версии : Глюк FlashMX???
Народ.. бьівает пишеш на мувике
on (press)
{
trace(this);
}
один раз вьідает
_level0
иной раз
_level0.instance4
тоесть имя мувика по умолчанию....
ЗНАЮ, что правда - второй вариант...
почему тогда вижу первьій иногда... и попросту не могу достаться до переменньіх..
тоесть на мувике
this.d=this.v-this._xmouse;
а this.v и this._xmouse почемуто оказьіваются нулевьіми (програмирую не первьій день.. инициализация бьіла)
_level0 - это когда на кнопке данный код вставляют
_level0.instance4 - а это на мувиклипе
sergwizard
10.09.2004, 23:10
1.
on(press){
trace(this) = _level0 - если код вставлен в кнопку
trace(this) = _level0.instance4 - если код вставлен в безымянный мувиклип.
trace(this) = _level0.mc - если код вставлен в мувиклип с именем "mc".
}
2. и попросту не могу достаться до переменньіх.. тоесть на мувике
this.d=this.v-this._xmouse;
Покажи, исходник. Явно что-то не то делаешь. Ошибки можно делать и на третий день программирования.
Интересно, почему люди все свои ошибки сваливают на "глюки"?
Nox Noctis
14.09.2004, 13:53
неоднозначность введена макромедией в шестой версии флэша.
если создать обработчик события в объектном синтаксисе (что предпочтительнее), то this внутри обработчика всегда указывает на объект в котором сработало событие.
например:
btn.onPress = function () {
trace(this); // выводит _level0.btn
}где btn - это кнопка в руте.
но при этом если на этой же кнопке повесить обработчик в старом синтаксисе:
on (press) {
trace(this); // выводит _level0
}
то выведется ссылка на родительский для кнопки клип. то есть _root.
если же то же самое проверить на мувиклипе, то this внутри обработчика всегда указывает на сам клип.
вобщем макромедия всех запутала :)
Сенкс ...
вроде чуть ясно стало...
Но вопрос.. когда я пишу
on (press) {
trace(this);
}
я не смогу использовать this???
тоесть this._x не фурьічит в етой конструкции????
на кнопке
on (press) {
this._x+=20;
}
кнопка не передвенется? Я правильно понимаю????
DeliMIter
14.09.2004, 14:06
Ты абсолютно прав. Если ты задаешь объекту поведение кнопки, то this для нее будет клип, в котором она лежит, а не она.
А я думал глюк......
Я понимал раньше, что в етом мувик и кнопка не отличаются...
Но вьіходит ОТЛИЧАЮТСЯ....
попробовал...
если на кнопке написать
on (release)
{
this._x+=50;
}
ПЕРЕДВИГАЕТСЯ ВЕСЬ КЛИП...
СЕНКС ВСЕМ!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.