![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2010
Сообщений: 5
|
Здравствуйте! Я только начал изучать As3 и у меня возникла проблема. Облазил кучу форумов, официальный сайт Адоба, но так и не смог исправить свою ошибку...
Работаю в FlashVedeloper. Сделал mxml файл. Подключил туда флешку с изображением лыжника(id="lijnik"). Через creationComplete запускаю функцию key_down, которая должна отслеживать нажатие клавиш. Если клавиша нажата, то лыжник должен переместиться на кординату x=500. Но почему- то ничего не происходит... Сижу уже который час и ничего не могу сделать. Подскажите пожалуйста. <?xml version="1.0" encoding="utf-8"?> <mx:Application creationComplete="key_down()" layout="absolute" width="1010" height="425" backgroundColor="green" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:SWFLoader id="lijnik" source="123.swf" x="100" y="100" width="40%" height="40%"/> <mx:Script> import mx.formatters.StringFormatter; import flash.display.Stage; import flash.events.*; public function lijnik_go(event:KeyboardEvent):void { lijnik.x=500; } public function key_down():void { stage.addEventListener(KeyboardEvent.KEY_DOWN, lijnik_go); } </mx:Script> <mx:Label id="label_1" text="LABEL" x="101" y="50" width="37" height="18"/> </mx:Application> |
|
|||||
|
Modus ponens
|
Скорее всего stage еще не доступен в creationComplete, попробуйте applicationComplete. Ну и естесственно поставьте дебаг плеер. А вообще за подчерки в названиях функций и транслит в переменных вас будут сильно нелюбить.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
|
На creation_complete уже stage есть. так что все нормально.
А попробуй добавить ивент листенер ещё и на SWFLoader, может он перехватывает события с клавиатуры?... Кстати, скрипт лучше окружай в <![CDATA[ ... ]]> потом проблем не будет если какие нибудь XML символы будешь писать. |
|
|||||
|
Modus ponens
|
Откуда такая уверенность?
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <s:creationComplete> trace(super.stage); // null </s:creationComplete> <s:applicationComplete> <![CDATA[ trace(super.stage); // [object Stage] ]]> </s:applicationComplete> </s:Application>
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
|
Если так как пишешь ты, то
stage.addEventListener(KeyboardEvent.KEY_DOWN, lijnik_go); упадёт с NPE. @11sD в дебаге были ошибки? |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 5
|
Не знал про дебагер, извиняюсь
Вот ошибочки:Цитата:
|
|
|||||
|
Регистрация: Jul 2010
Сообщений: 5
|
Ну да, всё правильно. applicationComplete помог. Спасибо)
|
|
|||||
|
Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
|
во-во
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|