这似乎是一个天真的问题,但我意识到我不知道如何实现这个目标。
我有一个Sprite对象,我调用了三个方法,
myObject.graphics.drawRect(params, params params, params);
myObject.graphics.beginFill(params);
问题在于我也叫
addEventListeneter(Event.ENTER_FRAME, myfunc);
在
myfunc(e:Event):void
{
myObject.x += 5;
}
我更新了myObject的x坐标。
假设我有一个按钮或者我在几秒钟之后发送一个新事件,重要的是如何在运行屏幕时如何更改myObject颜色。我想像从屏幕上删除myObject并添加另一个对象,几乎相似,但现在是一个红色矩形。
然而,我必须确切地知道自文件开始到按下按钮已经过了多少时间,以便用myObject的速度做一些数学运算来真正知道它必须添加到哪里(在同一个地方当我按下某个按钮时,myObject被移除了。
myNewObject.graphics.drawRect(the x coordinate where myObject was removed when I pressed the button so that I remove the old black rectangle and add a generic red rectangle, params params, params);
myNewObject.graphics.beginFill(new param);
但是怎么来的?有没有更简单的方法来实现这一目标?
感谢。
答案 0 :(得分:1)
您可以清除旧Sprite中的图形并使用新颜色绘制新的rect:
// After the event is dipatched:
function eventHandler(event:Event):void
{
myObject.graphics.clear();
myObject.graphics.beginFill(white);
myObject.graphics.drawRect(params, params, params, params);
myObject.graphics.endFill();
}
精灵将使用新颜色继续动画。