Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   метод класса setRandomPosition(). (http://www.flasher.ru/forum/showthread.php?t=193973)

Hauts 06.02.2013 11:54

Можно попридираться, кстати, но на пользу.

Не хватает graphics.endFill() в конструкторе Ball.

Почему-то "new_packege" (с ошибкой).

Зачем "this" в move (хотя это кому как, конечно)?

Зачем подписываться на ENTER_FRAME в методе setRandomPosition? Очевидно же, что метод подвинет в разные места шарики, но вот на события подписываться, думаю, лучше в конструкторе.

Код AS3:

if (!hasEventListener(Event.ENTER_FRAME)) {
addEventListener(Event.ENTER_FRAME, onLoop1); // второй слушатель enterFrame тут не нужен
}

Да и вообще, по-хорошему, лучше уж массив создать с ссылками на шарики и метод "createNewBall", который создаст шарик, подвинет его и запишет ссылку в массив.

Tina 06.02.2013 13:50

Спасибо за падсказку. Если не трудно можно немножко подробнее что делает эта строчка.
Код AS3:

 if (!hasEventListener(Event.ENTER_FRAME)) {
addEventListener(Event.ENTER_FRAME, onLoop1); // второй слушатель enterFrame тут не нужен
 }

Добавлено через 3 минуты
Тут тоже вопрос. Что вообще такое это this и откуда взялось?
Код AS3:

{
                        this.x += speed;
                        if (this.x >= stage.stageWidth - this.width || this.x < 0)
                        {
                                speed *= -1;
                        }
                }


caseyryan 06.02.2013 16:31

Цитата:

Если не трудно можно немножко подробнее что делает эта строчка.
Проверяет нет ли уже такого слушателя у объекта, если его нет, то добавляет, если есть, нет. Ну нужно ему куча энтерфреймов, это нагружает систему.

Цитата:

Тут тоже вопрос. Что вообще такое это this и откуда взялось?
this - это ссылка объекта на самого себя. В данном контексте this можно вообще убрать, это не обязательно.
Вообще, без this можно обойтись почти всегда. Лично я знаю только один случай, когда это реально необходимо

Tina 06.02.2013 20:49

caseyryan, спасибо.


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

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