![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
написал значит я функцию которая должна управлять мувиком с клавиатуры. Вот код:
package ru.RainbowAdventure.Characters { import flash.display.*; import flash.events.*; import flash.ui.*; import flash.utils.*; import flash.text.*; public class Hero extends MovieClip { public static var ball:MovieClip; public var container_hero:MovieClip; public function Hero() { addHero(); addEventListener(KeyboardEvent.KEY_DOWN, keyControl); trace("Hero initialized..."); } private function addHero() { container_hero = new MovieClip(); ball = new Hero_mc ; ball.x = 36; ball.y = 443; ball.gotoAndStop(1); addChild(container_hero); container_hero.addChild(ball); trace("Hero showed..."); } public function keyControl(e:KeyboardEvent):void { if (e.keyCode == Keyboard.LEFT) { ball.x -= 3; } if (e.keyCode == Keyboard.RIGHT) { ball.x += 3; } if (e.keyCode == Keyboard.DOWN) { ball.y += 3; } if (e.keyCode == Keyboard.UP) { ball.y -= 3; } trace("key control initialized..."); } } } |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
|
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
так вылетает ошибка:
Последний раз редактировалось iNils; 08.01.2011 в 19:52. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Угу, ведь stage появляется после добавления в список отображения.
|
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
хм. так всеравно не работает. функция keyControl не появляется, не трейсится
|
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Покажите обновлённый код. Должно работать.
|
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
package ru.RainbowAdventure.Characters { import flash.display.*; import flash.events.*; import flash.ui.*; import flash.utils.*; import flash.text.*; public class Hero extends MovieClip { public static var ball:MovieClip; public var container_hero:MovieClip; public function Hero() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(event:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); addHero(); addEventListener(KeyboardEvent.KEY_DOWN, keyControl); trace("Hero initialized..."); } private function addHero() { container_hero = new MovieClip(); ball = new Hero_mc ; ball.x = 36; ball.y = 443; ball.gotoAndStop(1); addChild(container_hero); container_hero.addChild(ball); trace("Hero showed..."); } private function keyControl(e:KeyboardEvent):void { if (e.keyCode == Keyboard.LEFT) { ball.x -= 3; } if (e.keyCode == Keyboard.RIGHT) { ball.x += 3; } if (e.keyCode == Keyboard.DOWN) { ball.y += 3; } if (e.keyCode == Keyboard.UP) { ball.y -= 3; } trace("Key control initialized..."); } } } |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Вот так у меня проходит инициализация:
package { import flash.display.MovieClip; import flash.events.*; /* @author soniko */ public class Hero extends MovieClip { public function Hero() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(event:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyControl); } public function keyControl(e:KeyboardEvent):void { trace("key control initialized..."); } } } |
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
то есть у вас все работает? а какая версия флеша и его настройки?
мдаам странно. может подскажете почему у меня может функция keyControl не инициализироваться? Последний раз редактировалось reNiks; 08.01.2011 в 19:46. |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Вот рабочий код на вашем примере
package { import flash.display.*; import flash.events.*; import flash.ui.*; import flash.utils.*; import flash.text.*; /* @author soniko */ public class Hero extends MovieClip { public static var ball:Shape; public var container_hero:MovieClip; public function Hero() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(event:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); addHero(); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyControl); trace("Hero initialized..."); } private function addHero():void { container_hero = new MovieClip(); ball = new Shape(); ball.graphics.lineStyle (5, 0xFF0000); ball.graphics.drawCircle (36, 443, 20); container_hero.addChild(ball); this.addChild(container_hero); trace("Hero showed..."); } private function keyControl(e:KeyboardEvent):void { if (e.keyCode == Keyboard.LEFT) { ball.x -= 3; } if (e.keyCode == Keyboard.RIGHT) { ball.x += 3; } if (e.keyCode == Keyboard.DOWN) { ball.y += 3; } if (e.keyCode == Keyboard.UP) { ball.y -= 3; } trace("Key control initialized..."); } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|