Показать сообщение отдельно
Старый 27.03.2013, 10:18
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
dimaMJ, я как-то уже рассказывал, как можно организовать структуру игрушки:

Создаете основной класс, например, GameController и в конструктор его передаете ссылку на _root. Далее уже в классах используете эту ссылку, но не сам _root.

Создаете игровые слои — createEmptyMovieClip(...), в него ставите контент слоя, и на него же вешаете onEnterFrame, если это так необходимо.

Персонажа, врагов и динамические объекты на уровне лучше обновлять в одном методе, а не навешивать на каждого свой onEnterFrame.

Цитата:
Этот оператор в определении класса недопустимо.
Как это решить?
Плохое решение:
Код AS1/AS2:
class MyClass {
    function MyClass(){
        _root.onEnterFrame = update;
    }
    function update(){
        //...
    }
}
Решение чуть получше:
Код AS1/AS2:
class MyClass {
    function MyClass(){
        var d = _root.getNextHighestDepth();
        _root.createEmptyMovieClip("___enterFrameCatcher_" + d, d).onEnterFrame = update;
    }
    function update(){
        //...
    }
}

Возможно я ошибаюсь в некоторых моментах, но, думаю, что идея ясна. Давно не писал классы на ас2.
__________________
hauts.ru


Последний раз редактировалось Hauts; 27.03.2013 в 11:17.