|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2009
Сообщений: 34
|
MOUSE_MOVE над всей рабочей областью
Сделал такой вот тестовый ролик
Цитата:
Подскажите а как сделать что бы MOUSE_MOVE работало над всей рабочей областью клипа. |
|
|||||
Регистрация: May 2009
Сообщений: 34
|
GAIKER - спасибо!
|
|
|||||
Регистрация: May 2009
Сообщений: 34
|
В развитие темы...
Для MOUSE_MOVE у меня заработало...теперь захотел функции события мыши описать в отдельном файле и подгружать в основной для использования. Основной файл теперь выглядит так: package { import flash.display.*; import flash.events.*; public class zovnish_funkc extends MovieClip { private var krug:Sprite; private var Sobytia_Mouse:Vnesh_Mysh; public function zovnish_funkc() { krug = new Sprite(); krug.graphics.lineStyle(1, 0xFF0000); krug.graphics.beginFill( 0xFF00FF ); krug.graphics.drawCircle( 0, 0, 30); addChild(krug); Sobytia_Mouse = new Vnesh_Mysh(this); addEventListener(Event.ENTER_FRAME, play_game); } private function play_game(event:Event):void { krug.x = Sobytia_Mouse.koor_x; krug.y = Sobytia_Mouse.koor_y; } } } package { import flash.events.MouseEvent; import flash.display.Sprite; public class Vnesh_Mysh extends Sprite { var koor_x = 100; var koor_y = 100; public function Vnesh_Mysh(navigacia) { navigacia.stage.addEventListener(MouseEvent.MOUSE_MOVE, on_MouseMove); } private function on_MouseMove (event:MouseEvent):void { koor_x = mouseX; koor_y = mouseY; } } } Пытаюсь увеличить функциональность событий мыши добавив обработку событий MOUSE_DOWN и MOUSE_UP ... package { import flash.events.MouseEvent; import flash.display.Sprite; public class Vnesh_Mysh extends Sprite { var koor_x = 100; var koor_y = 100; public function Vnesh_Mysh(navigacia) { navigacia.stage.addEventListener(MouseEvent.MOUSE_DOWN, on_MouseDown); navigacia.stage.addEventListener(MouseEvent.MOUSE_UP, on_MouseUp); } private function on_MouseDown(event:MouseEvent):void { stage.addEventListener(MouseEvent.MOUSE_MOVE, on_MouseMove); } private function on_MouseMove (event:MouseEvent):void { koor_x = mouseX; koor_y = mouseY; } private function on_MouseUp(event:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_MOVE, on_MouseMove); } } } TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at proba::Vnesh_Mysh/on_MouseDown() TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at proba::Vnesh_Mysh/on_MouseUp() Никак не пойму в чём дело, помогите разобраться. Последний раз редактировалось p0okm; 05.09.2009 в 16:38. |
|
|||||
[+1 16.08.10]
Регистрация: Jun 2009
Сообщений: 93
|
наверное
stage и есть тот null |
|
|||||
navigacia.stage и stage в Vnesh_Mysh - это ни одно и тоже. вы Vnesh_Mysh не добавляете на сцену, следовательно stage у него равен null
__________________
я могу стать всем, если только захочу |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
p0okm, вас самого французский с нижегородским в коде не смущает?
|
|
|||||
Регистрация: May 2009
Сообщений: 34
|
Честно говоря ничего не могу понять из Ваших ответов.
|
|
|||||
navigacia.stage.addEventListener(MouseEvent.MOUSE_DOWN, on_MouseDown); ... stage.addEventListener(MouseEvent.MOUSE_MOVE, on_MouseMove); navigacia - добавлена на сцену, и поэтому у нее есть stage экземпляр вашего класса не добавлен на сцену: stage нет. и вообще нужно подписывать на событие ADDED_TO_STAGE, и только после него добавлять слушателей к stage
__________________
я могу стать всем, если только захочу |
|
|||||
Регистрация: May 2009
Сообщений: 34
|
Цитата:
1120: Access of undefined property navigacia. а как решить эту проблему не знаю |
Часовой пояс GMT +4, время: 03:38. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|