2012-06-13 2 views
0

Я написал симпатичную маленькую игру, которая хорошо работает в форме .fla. Поскольку я хотел включить некоторые меню с параметрами, сэкономить и т. Д., Я последовал совету от http://www.actionscript.org/resources/articles/965/3/Better-Flash-Navigation-using-AS3-Classes/Page3.html Мне удалось получить навигацию из меню справа, но я действительно не знаю, что делать с содержимым моей fla. В идеале, я думаю, что он должен сам по себе сидеть в классе (так называемый Game.as), который, если вы посмотрите на ссылку выше, будет связан с Main.as (который является связанным классом [, который перемещает меню] из основной файл .fla, который содержит все активы). Правильно ли я думаю, что класс конструктора в Game.as был бы очень похож на функцию init() в моем файле .fla? В этом случае остальная часть кода для игры будет отдельными функциями (называемыми методами для классов, справа?), Хранимыми вне конструктора. Или я совершенно неправ, и игра не должна быть в классе сама по себе, а вместо этого сидеть внутри Main.as, потому что этот самый класс связан с исходным .fla, где все активы? Все, что мне нужно, - это немного подтолкнуть вас в правильном направлении, потому что я не могу найти эту информацию ни в одной из моих книг, и я не знаю, как ее обозначить для google. Заранее спасибо. NikПревращение .fla в головную боль класса

+0

Я играл со своими файлами немного больше и получаю мини-игру от класса Game.as, где все навигационные слушатели помещаются в конструктор, и игра начинается при нажатии кнопки воспроизведения, функций класса, расположенных в классе INSIDE, но НЕЗАВИСИМО от конструктора, используя PUBLIC STATIC VAR для обмена данными с другими классами. Я на правильном пути или нет? – Nik

+0

Для тех, у кого такая же проблема, короткий ответ заключается в том, что вы не можете взять свою .fla, сбросить ее в классе и надеяться, что она сработает. Это не так. Но хорошо, что я думаю, это то, что вы задумываетесь о своей логике кода, потому что в этой ситуации отображается неаккуратный код. – Nik

ответ

2

Вам необходимо экспортировать все MovieClips и активы, к которым вы хотите получить доступ, из классов в FLA-файле. Откройте свойства вашего MC или Bitmap и отметьте экспорт и запишите в него имя пакета.

http://www.flashandmath.com/howtos/as3link/

Остальным:

Каждый объект другого класса. Это объектно-ориентированное программирование. Ваше меню - это класс, ваши пункты меню - разные классы. Ваша игра - это класс, ваши игровые предметы - разные классы и так далее.

С помощью этого вы можете создать иерархию классов и «загрузить» элементы, которые вам нужны в конкретной ситуации.

http://www.adobe.com/devnet/actionscript/articles/oop_as3.html

Правильно ли я думать, что конструктор класса в Game.as будет очень похож на инициализации функции() в моем файле .fla? В этом случае остальной частью кода для игры будут отдельные функции (называемые методами для классов, справа?), Хранящиеся вне конструктора.

Да, вы правы.

+0

Спасибо за это, да, мувиклипы отмечены для экспорта, и им дается имя класса, и именно так они выводятся на сцену с помощью класса Main.as, связанного с файлом .fla. – Nik

+0

отредактировал мой ответ, может быть, это больше отвечает на ваши вопросы :) – WolvDev

+0

Отличный ответ и отличная ссылка. Я думаю, что я понимаю теорию, но это становится путаным, когда вы должны реализовать все эти вещи в реальной ситуации. На данный момент я просто согласен с областью ... – Nik