Показать сообщение отдельно
Старый 08.09.2007, 03:42
bjd вне форума Посмотреть профиль Отправить личное сообщение для bjd Найти все сообщения от bjd
  № 3  
Ответить с цитированием
bjd

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Цитата:
Сообщение от 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
//????????????????????????????????????????????
Как правильно это написать? Хотя и так работает.


Последний раз редактировалось bjd; 08.09.2007 в 03:53.