Как работать с несколькими режимами игры в ActionScript 3 - Flash - PullRequest
0 голосов
/ 07 апреля 2011

Я новичок в ActionScript Flash 3.0. В любом случае, я написал код для одного уровня игры, включая персонажа. Теперь можно создать класс, и когда я нажимаю, например, для «Уровень 1» первый уровень начинается? (Создать объект класса) Когда я нажимаю выход, чтобы выгрузить весь уровень. Как это возможно во флеше? Есть ли уроки? Благодарю.

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

радости ООП. В ЛЮБОЕ время, когда вы пишете код на объектно-ориентированном языке, вам необходимо разработать свои классы для повторного использования. Ведь это одна из главных целей ООП-дизайна. Вы не опубликовали никакого кода, поэтому я предполагаю, что вы написали свою игру процедурным способом и не использовали и классы, кроме базовых классов, предоставленных вам с помощью Flash-пакетов.

В качестве примера, поскольку мы говорим об играх, подумайте о пуле. Вы можете создать класс пули, который будет контролировать все аспекты любой отдельной пули (от попадания в цель до ее траектории до полета в космос. Поэтому, когда пользователь запускает выстрел, вы создадите новый экземпляр пули и назначите слушателя события на что-то вроде «HIT», конечно, вам нужно было бы отправить событие в классе пули, но на данный момент единственная мысль, о которой вам нужно беспокоиться, это то, что если событие попадания произошло, класс пули позаботится обо всем остальном. .
По сути, как вы можете видеть, делая это таким образом, инкапсулирует любое действие с маркером, кроме события HIT.

Другим примером будет кнопка. Этот класс поставляется с флэш-библиотеками, и я уверен, что вы использовали его раньше. Перетащите кнопку на сцену, добавьте EventListener, сделайте функцию onclick, и все готово. Не нужно использовать ни один из внутренних методов класса Button, все это удобно для вас.
Кирупа - это всегда хорошее место для изучения ССЫЛКА
Будьте готовы переписать всю игру для этого изменения. Перенос процедурного кода в классы может быть непростым опытом

0 голосов
/ 07 апреля 2011

Краткий ответ: да.

Простой способ (не обязательно лучший) заключается в добавлении обработчиков событий mousedown к объектам кнопок, которые запускают функцию, которая создает ваш уровень (путем создания нового экземпляра объекта вашего класса). Вы можете получить доступ к этому объекту через его ссылку (то есть имя переменной).

После того, как вы закончили с уровнем, вы можете установить нулевую ссылку на объект, что позволит сборщику мусора очистить вашу память.

Есть гораздо более изящные способы сделать это, но попробуйте это как отправную точку. Удачи.

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