2015-05-27 18 views
0

我在延伸citrus.core.starling.StarlingState的場景中具有以下功能 - 它會加載PlayerRun動畫並將其顯示在屏幕上。大多數情況下,這段代碼起作用:我在屏幕上看到精靈(它正在運行)。如何使用CitrusSprite.velocity

protected final override function DrawScene():void 
{ 
    Player = new CitrusSprite ("Player"); 

    Player.velocity = [60, 0]; // Doesn't seem to have an effect 
    Player.x = 40; 
    Player.y = 40; 

    var oClip:MovieClip = new MovieClip (Resources.getTextures ( 
     "PlayerRun"), 24); 

    Player.view = oClip; 

    add (Player); 
} 

我不知道如何,我應該使用velocity財產 - 有沒有它的文檔也不管我在上面的代碼中使用什麼數字,它不會改變顯示:動畫但是精靈是靜止的(它不會像我所期望的那樣水平移動)。

我使用velocity屬性嗎?柑橘支持精靈速度還是我必須實現的東西?

回答

1

我沒有用柑橘還沒有,但是看一下源代碼,它應該工作,你已經走了一下假設update方法被調用播放器上的方式:

您可以查看方式velocity物業工作在這些位置:

我懷疑你需要添加播放器的東西,將排隊它的更新。

+0

謝謝你的迴應 - 我在屏幕上出現了sprite,所以我認爲會調用'update()' - 在代碼中的'StarlingState'上調用'add()'。我可能會添加一個'update'覆蓋並查看它是否被調用。 – xxbbcc

2

事實證明,CitrusSprite有一個屬性,updateCallEnabled在默認情況下是false,並且禁止在update()電話。一旦我將此屬性設置爲true,代碼就開始按預期工作。

+0

很高興知道,很好找。 – Marty