![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 19
|
Здравствуйте уважаемые флэш разработчики.
Ради опыта взялся программировать не сложную игру подобного полана: http://content.stungames.com/games/o...ransporter.swf (тюнинг машины). Т.е. в наличии интерфейс с кнопками, нажимая на них мы меняем деталь машины (тюнингуем). Хотел бы обсудить с опытными людьми, как лучше организовать архитектуру игры. Итак. Машина делиться на корпус ( 5 видов покрасок), колеса (с 5-ю видами дисков), сполеры ( 5 видов), и др. Организация клипов: к примеру, за корпус у меня отвечает один клип с названием “Corpus” с пятью кадрами (в каждом - один вид покраски). Очень удобно перебирая кадры менять покраску. Таким же образом у меня организованы остальные части машины. Далее у меня существует клип Car, который сформирован из клипов (экземпляров) частей машины, иными словами, там собрана машина на основе клипов (“Corpus” и пр.) и т.к., все поименовано, чтобы к ним можно было обращаться, напр.: Car.Corpus. gotoAndStop(3); - выбираем третьею покраску корпуса Далее имеется клип Interface, в котором находится графический интерфейс с кнопками – треугольниками, как в игре примере (нажимая на одну из кнопок, она перебирает к примеру, цвета корпуса). Итак, в кадре у меня расположен экземпляр клипа Interface и экземпляр клипа Car. В main классе (тот что цепляется в свойствах документа) у меня идет инициализация объектов, а также главный код игры, т.е. переключение между главными кадрами (загрузка- кадр, главное меню -2 кадр, выше описанный тюнинг машины -3 кадр, поездка на машине – 4 кадр, окно результатов – 5 кадр). Тут же прописываю код взаимодействия клипа Interface и Car. Но вот тут возникала проблема, если экземпляр клипа Interface расположен в третьем кадре, то в функции main() класса main, я не могу обратиться к свойству например Interface_1.x = 10, выдает: “Не удается вызвать свойство или метод со ссылкой на объект "null".” Если же я экземпляр клипа Interface располагаю в первом кадре, то ошибки нет, обращение к свойству X происходит успешно. Что мне надо сделать, чтобы я мог обратиться к Interface во всех кадрах? Да, и очень важно, экземпляр клипа Interface я не создаю в коде класса main (var Interface_1:Interface = new Interface), а в flash cs4 я перетаскиваю клип в рабочую область кадра 3 и именую в свойствах, как Interface_1. Т.е. хотел бы услышать мнение об общей организации архитектуры игры и соответственно, как решить вышеописанную проблему? Последний раз редактировалось Рен; 05.08.2009 в 23:33. |
![]() |
Часовой пояс GMT +4, время: 16:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|