2011-08-29 109 views
2

這似乎是一個幼稚的問題,但我已經意識到我不如何實現這一目標。改變對象的屬性實時

我有一個Sprite對象,我叫三種方法,

myObject.graphics.drawRect(params, params params, params); 
myObject.graphics.beginFill(params); 

的問題是,我也叫

addEventListeneter(Event.ENTER_FRAME, myfunc); 

myfunc(e:Event):void 
{ 
myObject.x += 5; 
} 

我更新的x座標myObject的。

假設我有一個按鈕,或者我在幾秒鐘後分派一個新的事件後,它並沒有多麼,重要的是我如何更改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); 

但是怎麼回事?有沒有更簡單的方法來實現這一點?

謝謝。

回答

1

可以清除舊的雪碧圖形,繪製一個矩形新新顏色:

// 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(); 
    } 

的精靈將繼續與新的顏色動畫。

相關問題