Цитата:
|
Сообщение от Kikasso
Нафиг вам этот bottonHero?
Пускай onKeyDown будет в самом классе, и подписывайте на прослушивание не этот мифический bottonHero, а сам экземпляр класса, т.е. this
И trace задействуйте. В данном случае controlHero вызывается от имени вашего локального объекта, а в нем такой функции нет.
Можно было заюзать Delegate (поиск), чтобы вызывать controlHero от имени класса, но не вижу в этом нужды.
|
Если я правильно понял необходимо сделать так:

Код:
class MainHero {
//Клип в котором будут располагаться все ресурсы MainHero
private var container_mc:MovieClip;
//????????????????????????????????????????????
var onKeyDown
//????????????????????????????????????????????
/**
* MainHero Конструктор
*
* @param target Клип к которому будет прикреплён MainHero
* @param depth Глубина на которой прикрепляется клип
*
*/
public function MainHero(target:MovieClip, depth:Number) {
container_mc = target.createEmptyMovieClip("container_mc" + depth, depth);
//******************************************
this.onKeyDown = controlHero;
Key.addListener(this);
//******************************************
}
private function controlHero() {
if (Key.isDown(Key.DOWN)) {
goDOWN();
trace("yes_1");
}
}
private function goDOWN() {
container_mc._y += 5;
trace("yes_2");
}
//изображение загружаемое в пустой клип
public function loadHero(URL:String):Void {
container_mc.loadMovie(URL);
}
}
Спасибо за помощ.

Код:
//????????????????????????????????????????????
var onKeyDown
//????????????????????????????????????????????
Как правильно это написать? Хотя и так работает.