Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите новичку разобраться с this (http://www.flasher.ru/forum/showthread.php?t=134250)

romasik 24.12.2009 18:47

Помогите новичку разобраться с this
 
Пытаюсь сделать меню. Кнопка в состоянии Over нарисована больше и перекрывает остальные. Хочу сделать так что-бы при наведении на кнопку она выходила на передний план. Нашел пример решения такого варианта в Инете : this.swapDepths(_root.getNextHighestDepth()); Но проблема в том что я пытаюсь вписать обработчик событий в основном ролике на кнопке on(rollOver){trace(this)} мне возвращает _level0.
Вопросы :
1. Почему обработчик событий для кнопки возвращает this - коренной ролик ?
2. Как ссылаться к кнопке в обработчике событий?
3. Правильно ли ссылаться к коренному ролику из обработчика событий через this?
4. Как же все таки будет выглядеть та строка для подъема кнопки на верх?

Спасибо за то что просмотрели мой пост и огромное спасибо тем кто ответил.
В качестве ответа с радостью приму урль на теорию максимально приближенную к данной теме, так как пытался проработать вопрос самостоятельно, но не смог найти.

lexa2000lexa 24.12.2009 18:56

отказаться от написания кодов в кнопках. а писать в кадрах , и не будет проблем.

romasik 24.12.2009 19:42

Цитата:

Сообщение от lexa2000lexa (Сообщение 874990)
отказаться от написания кодов в кнопках. а писать в кадрах , и не будет проблем.

Может и так, но вопрос сильно влияет на понимание программирования в целом... Если с самого начала обтекать основы, то о каком понимании языка может идти речь... :umnik2:

Zik. 24.12.2009 20:06

писанина в кнопках не основы, а прошлый век

romasik 24.12.2009 20:10

Цитата:

Сообщение от ZIK68 (Сообщение 875008)
писанина в кнопках не основы, а прошлый век

Меня волнует не место писания кода , а взаимоотношения между объектами. Я считаю что это основа языка.

Psycho Tiger 24.12.2009 22:11

Цитата:

1. Почему обработчик событий для кнопки возвращает this - коренной ролик ?
Не коренной ролик, а родитель этой кнопки. У AS1-2 всегда были проблемы с сохранениями областей видимости. Признаться, я даже не знаю, отчего так - могу лишь догадываться. Однако же, если писать в кадрах или классах, такой проблемы у вас не возникнет - this будет ссылать куда надо. Разбираться почему так - уже не стоит, потому что уже как 10 лет такой способ "морально устарел".
Цитата:

2. Как ссылаться к кнопке в обработчике событий?
В вашем варианте - не использовать this.
Код AS1/AS2:

on (release){
_x+=100;
}

Однако же, если писать в кадрах - то this как раз писать будет нужно. Своя камасутра, пишите сразу правильно и не задавайтесь вопросом, почему и откуда. Первое время, конечно.
Цитата:

3. Правильно ли ссылаться к коренному ролику из обработчика событий через this?
Ссылаться к коренному ролику вообще никогда не правильно. Каждый объект (класс) - чёрный ящик, который знает только то, что ему дали, и сам никогда ни о чём не просит. Просто заявляет, "я сделал то-то!" - а его родитель (в нашей паралели - человек) уже решает, нужно ли ему на это как то реагировать, или нет.
Цитата:

4. Как же все таки будет выглядеть та строка для подъема кнопки на верх?
Ну, я уже привёл код для сдвига её вправо. Переписать не проблема, я считаю.

Ну, и наконец - вот здесь подробно расписано про this и прочее.

Hauts 24.12.2009 22:13

Опередили =)


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

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