Изображение курсора к центру при наведении мыши - PullRequest
1 голос
/ 17 ноября 2009

Я настоящий нуби со вспышкой, и мне было интересно, может ли кто-нибудь помочь мне с этим.

У меня есть код actionScript 3, где изображение курсора "ball_mc" следует с небольшой задержкой за позицией мыши:

stage.addEventListener(Event.ENTER_FRAME,followBall);

function followBall(event:Event):void {
var dx:int = ball_mc.x - mouseX;
var dy:int = ball_mc.y - mouseY;
ball_mc.x -= dx / 5;
ball_mc.y -= dy /5;
}

1) Как заставить изображение курсора автоматически возвращаться в центр сцены при наведении мыши? На данный момент он остается в том месте, где мышь покидает сцену.

2) Как я могу обратить движение мыши? Чтобы, например, когда я переместил мышь вправо, изображение курсора переместилось бы влево? А при перемещении мыши изображение вверх уменьшится.

Сцена 800 х 250 пикселей, в случае, если это имеет какое-либо значение.

Ответы [ 2 ]

0 голосов
/ 19 ноября 2009

Я думаю, что вы хотите что-то вроде этого:

import flash.events.Event;
import flash.events.MouseEvent;
import flash.ui.Mouse;

stage.addEventListener(MouseEvent.MOUSE_MOVE, followBall);
stage.addEventListener(Event.MOUSE_LEAVE, cursorOut);

function  followBall(evt:MouseEvent):void  {
 var dx:int = mouseX-stage.stageWidth;
 var dy:int = mouseY-stage.stageHeight;
 ball_mc.x = -dx ;
 ball_mc.y = -dy ;
} 

function cursorOut(evt:Event):void {
 ball_mc.x=stage.stageWidth/2;
 ball_mc.y=stage.stageHeight/2;
}

функция cursorOut и его EventListner предназначены для первой проблемы, а followBall для второй.

0 голосов
/ 17 ноября 2009

для начала вы можете сделать это так:

<code>
stage.addEventListener(MouseEvent.MOUSE_OUT, comeTOCenter);
function comeToCenter(e:MouseEvent):void {
stage.removeEventListener(Event.ENTER_FRAME,followBall);
ball_mc.x = stage.stageWidth / 2;
ball_mc.y = stage.stageHeight / 2;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...