【发布时间】:2010-09-03 02:49:39
【问题描述】:
好的,我正在使用纯 as3(没有创意套件或 xml)。我有一个精灵。它绘制一个大矩形,然后绘制一个稍小的矩形。当我将鼠标悬停在稍小的矩形上时,我想更改它的颜色。现在虽然它要么没有响应(我可以清楚地将鼠标放在矩形上并且什么都没有发生),要么响应很慢。此外,矩形的碰撞区域似乎有点偏离,即当我将鼠标放在矩形的左上角时,它的响应比我在其他地方的鼠标更频繁。
无论如何,这是我正在使用的代码:
public function MAIN()
{
BUTTON_1.graphics.clear();
BUTTON_1.graphics.beginFill(0x000000);
BUTTON_1.graphics.drawRect(188,96,104,24);
BUTTON_1.graphics.endFill();
BUTTON_1.graphics.beginFill(0x0000DC);
BUTTON_1.graphics.drawRect(190,98,100,20);
BUTTON_1.graphics.endFill();
addChild(BUTTON_1);
BUTTON_1.addEventListener(MouseEvent.MOUSE_OVER,MOUSE_OVER_1);
function MOUSE_OVER_1():void
{
removeChild(BUTTON_1);
BUTTON_1.graphics.clear();
BUTTON_1.graphics.beginFill(0x000000);
BUTTON_1.graphics.drawRect(188,96,104,24);
BUTTON_1.graphics.endFill();
BUTTON_1.graphics.beginFill(0x0000A0);
BUTTON_1.graphics.drawRect(190,98,100,20);
BUTTON_1.graphics.endFill();
addChild(BUTTON_1);
}
}
我对 as3 还很陌生,所以如果有更好的方法可以告诉我。
【问题讨论】:
-
是的,很抱歉,我通过并接受了我得到的任何好的答案。无论如何我想通了,我没有意识到你可以将 hitTestPoint 与精灵一起使用,效果很好。
-
如果您解决了自己的问题,您可以在下面发布您自己的答案。然后,您可以接受自己的答案,让其他人知道您的问题已经解决。有时在你被允许接受之前会有一点延迟,以防你弄错了,但它应该让你最终接受。
标签: actionscript-3