嘿大家如此試圖做到這一點有點麻煩。我明白如何通過舞臺上的動態文本字段添加生活並顯示它們。我的遊戲現在正在設置,以便發生這種情況,並且每當玩家死於現場減量時,它就可以正常工作。如何在遊戲AS3中顯示玩家的生活
但我想要顯示的和所有3生活的圖像生活在Flash CS6中繪製的自定義電影剪輯來表示生活。因此,所有3條生命將在遊戲中顯示,一旦玩家死亡,其中一條生命圖像被移除。
我對做什麼有一些想法。例如,我創建了一個「for循環」來在屏幕上顯示所有3個圖像,並創建變量以將它們水平放置,並具有30像素的空間。
但我不確定這是否是正確的方法來解決這個問題。還有一種困惑,我會如何刪除其中一個圖像時,玩家死亡?
她是到目前爲止我的代碼:
public var playerLives:mcPlayerLives;
private var nLives:Number = 3;
private var startPoint:Point;
private var aPlayerLivesArray:Array;
在我的主類發動機:
aPlayerLivesArray = new Array;
addPlayerLivesToStage();
然後addplayerlivestostage功能:
public function addPlayerLivesToStage():void
{
var startPoint:Point = new Point((stage.stageWidth/2) - 300, (stage.stageHeight/2) - 200);
var xSpacing:Number = 30;
for (var i = 0; i < nLives; i++)
{
trace(aPlayerLivesArray.length);
playerLives = new mcPlayerLives();
stage.addChild(playerLives);
playerLives.x = startPoint.x + (xSpacing * i);
playerLives.y = startPoint.y;
aPlayerLivesArray.push(playerLives);
}
}
所以像我說上面一切正常很好,它確實顯示了代表生命的三幅圖像,但這是否正確或者有沒有更簡單的方法?
感謝您的幫助。但仍然有點困惑,所以在一個單獨的函數中,我有一個名爲「checkPlayerHitShark」的gameloop,它可以檢測玩家是否擊中了鯊魚。所以當玩家鉤子擊中鯊魚時,我希望生命減少1,所以你說我知道我需要一個nLives - ;但不完全確定如何在for循環中使用它。它不會刪除圖像生活在屏幕上。它確實減少了它。我應該做一個獨立的函數,如上所述,刪除一個生活,然後在我的「Checkplayerhitshark」函數中調用它? – Nathan
好吧,只需要弄清楚如何從屏幕上刪除電影剪輯圖像的生命。我試過一些東西 – Nathan
是的,最好你應該使用另一個功能來消除生命。但是你不需要使用另一個函數來在我的工具中添加生命。但是如果你只想使用1個函數來添加和刪除,實際上這不是「很好」,但它很好......你可以減少nLives 1,然後移除livesArray的所有元素並設置livesArray.length = 0;那麼你可以使用你自己的功能再次增加生命,這使得它看起來像活着被刪除,但實際上所有的生命都被刪除,並由新的nLives價值再次添加。 –