簡體   English   中英

當節點在屏幕上通過某個y坐標時,如何更新Sprite Kit中的分數?

[英]How do I update the score in sprite kit when a node passes a certain y coordinate on the screen?

在我的Sprite Kit游戲中,當一個節點經過另一個節點時會得分。 我嘗試對這種機制進行編碼,以便當障礙節點的y坐標大於玩家節點的y坐標時,會得到一個點。 但是,這不起作用。 當大於號更改為小於號,並且障礙物出現在屏幕上時,分數就會更新,此代碼將起作用。 我只想在障礙物通過玩家時更新分數。 任何幫助將不勝感激,謝謝

    if (obstacle1.position.y > person1.position.y) {
    scoreNumber++;
    scoreLabelNode.text = [NSString stringWithFormat:@"%i", scoreNumber];
    }

如果您的播放器在屏幕的底部,而障礙物從屏幕的頂部開始,則正確的if語句應為:

if (obstacle1.position.y < person1.position.y)

但是,如果您的播放器在頂部,而障礙物從底部開始,則正確的if語句為:

if (obstacle1.position.y > person1.position.y)

您將必須為障礙添加一些BOOL屬性,以免同一障礙物的得分不斷增加。 另一種選擇是將所有障礙物排在一個數組中(以得分為目的),並在障礙物通過玩家后將其從數組中清除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM