1
我正在提出一个观点,并在AS3中用闪光灯点击游戏。如何更改光标滚动事件
我已经通过创建一个新类“Souris”来更改我的光标的皮肤。它工作得很好。现在我试图在光标位于场景上的某个对象上时更改光标的外观。
我读过的MouseEvent.ROLL_OVER是很好的方法,但我无法弄清楚如何做到这一点?
我有我的苏里斯类这样的:
public class Souris extends MovieClip
{
private var engine:Engine;
private var stageRef:Stage;
private var p:Point = new Point();
public function Souris(stageRef:Stage)
{
Mouse.hide(); //make the mouse disappear
mouseEnabled = false; //don't let our cursor block anything
mouseChildren = false;
this.stageRef = stageRef;
x = stageRef.mouseX;
y = stageRef.mouseY;
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, updateMouse, false, 0, true);
stageRef.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler, false, 0, true);
stageRef.addEventListener(Event.ADDED, updateStack, false, 0, true);
stageRef.addEventListener(MouseEvent.ROLL_OVER,hover);
}
private function updateStack(e:Event) : void
{
stageRef.addChild(this);
}
private function hover(e:MouseEvent):void {
souris.visible = false;
}
private function mouseLeaveHandler(e:Event) : void
{
visible = false;
Mouse.show(); //in case of right click
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseReturnHandler, false, 0, true);
}
private function mouseReturnHandler(e:Event) : void
{
visible = true;
Mouse.hide(); //in case of right click
removeEventListener(MouseEvent.MOUSE_MOVE, mouseReturnHandler);
}
private function updateMouse(e:MouseEvent) : void
{
x = stageRef.mouseX;
y = stageRef.mouseY;
e.updateAfterEvent();
}
}
}
}
在我的主类(引擎类)我有:
private var souris:Souris;
public function Engine(){
souris = new Souris(stage);
stage.addChild(souris);
}
private function startGame(e:Event):void{
....
..
我试图把在“Souris的”类
stageRef.addEventListener(MouseEvent.ROLL_OVER,hover);
private function hover(e:MouseEvent):void {
Engine.souris.visible = false;
handCursor.visible = true ;
}
但它看起来不对...... 我不知道要放在我的悬停功能。 (我的图书馆里有“handCursor”)。
非常感谢您的帮助!
没有错误,但当我将光标放在某个项目上时,我的手形光标不会出现...您知道为什么吗?我认为这是因为在我的引擎类中,我得到了souris.visible = true(我把你的代码放在“Souris”类中) – user2421975
不,我认为这是不起作用的MouseEvent.ROLL_OVER ...也许它不会翻转,我必须把...不? – user2421975
好的发现如何做到这一点。它是MouseEvent.MOUSE_OVER。 Thx为您提供帮助! – user2421975