![]() |
override как правильно переопределять метод?
Доброго!
Дошло дело до различного поведения hero, строить километровые зависимости if else не хочется. Как красивый вариант дуаю подойдёт переопределение методов. Так вот, как правильно всё это дело построить? вот поведение по умолчанию, отрывок из класса, используется Nape Код AS3:
Добавлено через 21 минуту А вообще можно-то переопределить метод, который вызывает слушатель? |
приватные методы недоступны наследнику.
|
Цитата:
|
Надо определить доступ как protected, тогда возможен override.
Однако вот это Цитата:
Добавлено через 3 минуты но, думаю, Вы имели ввиду всё-таки РАЗНЫХ наследников Hero. |
Цитата:
|
сделай просто свитч
Код AS3:
|
Цитата:
Пока только вижу и двигаюсь к варианту, внутри класса написать приватные классы (можно конечно и отдельные, но не вижу смысла делать 5-7 классов в 10 строчек кода). В них же (приватных) и переопределять метод(ы). А в основном классе просто навещать слушателей событий, которые будут вызывать необходимый приватный класс |
Зачем тебе в нейпе подсовывать какое-то другое имя метода? Там при регистрации столкновения в метод-обработчик передается InteractionCallback вот так:
Код AS3:
У тебя какая-то сплошная каша и в коде и в вопросе. По-моему то, что ты хочешь сделать (если я правильно это понял), реализуется именно проверкой условия. Не нужно никаких методо переопределять. Переопределение требуется, допустим, если у тебя есть 2 разных класса персонажей, которые ведут себя по разному. Скажем, один идет, а другой идет, и после каждого шага подпрыгивает. Так ты в базом классе пишешь метод ходьбы. Код AS3:
Код AS3:
|
caseyryan
хм, я не совсем понял ваш пример, как он мне поможет. Я использую только PreCallback, остальные не нужны Что я хочу сделать, есть персонаж, ведёт себя заранее опрелённым образом и обрабатывается определённое взаимодействие с Nape, пусть обрабатываются столкновения определённым образом. Дальше происходит событие и он теперь столкновение вообще не учитывает. Дальше происходит новое событие, столкновения снова учитываются, но уже другая реакция. При этом это не однократно, а в течении определённого времени. Простой пример, перс не может проходить сквозь стены, берёт очивку и в течении 10 секунд может |
это классическая задача для использования stateMachine, под AS вроде есть готовы либы, но лучше написать самому чтобы лучше разобраться. переопределение методов не совсем тот случай. игровые ситуации бывают оч сложные
первое из гугла по теме http://www.gamedev.ru/code/articles/..._state_machine |
| Часовой пояс GMT +4, время: 09:21. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.