Форум 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)
-   -   Как правильно пользоваться onEnterFrame (http://www.flasher.ru/forum/showthread.php?t=194434)

dimaMJ 14.02.2013 03:10

Как правильно пользоваться onEnterFrame
 
У меня вопрос как пользоваться onEnterFrame в классах, обьясните всю взаимосвязь правильную, когда создаешь в классах. Я сколько пишу не понимаю как правильно использовать onEnterFrame, лично сейчас я создаю экземпляр общего класса в кадре в ф-ции к примеру game и эту ф-цию передаю в onClipEvent(enterframe), делаю ли я правильно? и если нет обьясните как правильно, буду благодарен.

dark256 14.02.2013 10:54

onClipEvent и классы....
Вы пытаетесь БугаттиВерона заставить работать на дровах.... В открытом космосе....
У ва в одну кучу все свалено.

dimaMJ 14.02.2013 13:40

Я и прошу обьяснить

dark256 14.02.2013 14:12

Я ООП не знаю. Но на клипах код не пишу.
Вы думаете что знаете, но при этом пишете.
Объяснить что так нельзя и будет плохо?
Вы это и так видите.
Читайте туторы. И мануалы.

Hauts 14.02.2013 15:01

dimaMJ, как вариант решения вашей задачи:

В первом кадре основной временной шкалы инициализируйте основной класс игры:
Код AS1/AS2:

new GameController(this);

При этому this - это ссылка на основную временную шкалу, которая, по своей сути, и является мувиклипом. А раз так, то можно пользоваться событиями мувиклипа из GameController`а:

Код AS1/AS2:

 
private function startGame(){
    _rootReference.onEnterFrame = updateGame;
}
 
private function updateGame(){
    _playerController.update();
    // some other updates etc.
}

— это просто только что придуманный кусочек основного класса. Нужно начать игру — назначаем на onEnterFrame выполнение метода "updateGame". Внутри метода — обновление игровых сущностей. Например, игрока.

Нужно остановить игру — вызываем метод "stopGame". Внутри него, соответственно, "delete _rootReference.onEnterFrame".

_rootReference в данном случае — это ссылка на основную временную шкалу, которую вы получаете в конструкторе класса, который, в свою очередь, создается в первом кадре, как я описал вначале.


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

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