如何在運行動作之前檢查SKNode
是否已經在運行一個動作? 我希望能夠做這樣的事情......檢查SKNode是否正在運行SKAction
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果在辦法,我想保持動作狀態創建一個新的BOOL
屬性沒有內置。
如何在運行動作之前檢查SKNode
是否已經在運行一個動作? 我希望能夠做這樣的事情......檢查SKNode是否正在運行SKAction
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果在辦法,我想保持動作狀態創建一個新的BOOL
屬性沒有內置。
查看使用任何SKAction
基於密鑰的方法的命名操作。所以你應該使用與runAction:
相同的命名等價來運行你的動作,即runAction:withKey:
。如果具有相同密鑰的操作已在運行,則在新操作添加之前將其刪除。或者,使用actionForKey:
來查看某個操作是否已在運行,就像您現在正在代碼中嘗試執行的操作一樣,然後removeActionForKey:
將其刪除或根據需要進行處理。
對不起,對於遲來的答案,但你可以使用精靈方法hasActions來檢查精靈當前是否正在運行任何操作。
if (![mySprite hasActions])
{
[mySprite runAction:action];
}
這是一個更好的答案,因爲你可以檢查一個特定的動作,而不是檢查精靈是否正在運行任何動作(當然,那就是如果你知道動作的關鍵:) – Septronic