![]() |
Вопрос по переменным в классах
Вопрос 1 : как неявно обьявить переменную в классе
Вопрос 2 : как связать эти переменные с onClipEvent(load){ } помогите решить эти два вопроса из-за них просто плыву в классах а вообще дело в том что изначально я писал игру в кадрах без классов, все получалось никаких проблем не было, когда выяснялось что нужно (это курсовая) использовать ООП естественно нужно было писать в классах, начал копировать работающие функции из кадров в соответственные классы и все поплыло, постоянно какие то проблемы в основном только с переменными они получаю не те значения которые нужны и я не понимаю как их занести в onClipEvent(load){ } потому что если не занести просто не работает много чего (проверял уже когда в кадрах писал) очень прошу помощи! |
Цитата:
Код AS1/AS2:
Цитата:
|
вот даже к примеру у меня есть ф-ция которая прописана в кадре
Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Добавлено через 7 минут вот так я перевел эти ф-ции в класс Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
|
Мда. Большая беда.
Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Теперь насчет кода на клипе. Вы пользуетесь инстанс-нэймами у клипов, и это правильно. Но что вам мешает в том же кадре прописать такой код: Код AS1/AS2:
Кстати, вам initGame-то вообще не нужна. Просто объявили бы все эти переменные в самом начале и все. Еще одно замечание: Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Относительно кнопки, которая ловит нажатие пробела... Убирайте ее и пропишите следующий код в кадре: Код AS1/AS2:
Добавлено через 5 минут Обновил страницу, увидел дополнение к вашему посту. Цитата:
Разделите сущности вашей игры по их смыслу и создайте соответствующие классы. Игрок — класс Cat (насколько я понимаю), нужны игровые звуки — создаете класс GameSounds, у которого будете в нужный момент вызвать метод, например, "playShootSound". Нужен общий класс для того, чтобы создать экземпляры игрока, противников, ландшафта и т.д. и контролировать всю игру — создаете класс GameController. |
Цитата:
Код AS1/AS2:
|
Использование динамических классов почти всегда означает ошибку в логике программы. Динамические классы и создание их полей (переменных) на лету (в рантайме) зачастую грозит неправильной работой всего приложения.
Вы же прекрасно знаете, какие поля класа вам потребуются, зачем вам изменяемый класс-то? Код AS1/AS2:
Цитата:
|
спасибо большое попробую, да я разделил все по классам как вы говорите, но экземпляры создавал в кадре а не в общем классе,
|
В кадре просто точку входа создайте. Первый кадр основной временной шкалы:
Код AS1/AS2:
Примерно так: Код AS1/AS2:
P.S. В некоторых моментах могу ошибаться, возможно те, кто получше меня соображают, как правильнее написать код игры, меня поправят. |
Цитата:
|
А я не понял вашего вопроса.
Смысл следующий: вы можете назначить мувиклипу в кадре onEnterFrame = function()... , а можете и на самом мувиклипе код прописать onClipEvent(enterframe){... . Так вот первый вариант лучше. |
| Часовой пояс GMT +4, время: 05:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.