好吧,所以我想要在遊戲中獲得一定分數時解鎖一個新角色。我有我的高分機制設置,以便一個稱爲「分數」的整數在遊戲結束時識別分數(基於計時器系統),並將其設置爲新的高分(假設您的分數較高)。然後它會將整數重置爲0.這裏的問題是,我不能說如果:整數讀取允許說30,然後解鎖此功能,因爲它重置爲0.所以我的問題是:是否有另一個無需使用此方法即可在遊戲中解鎖此功能。非常感謝!如何在獲得某個分數後解鎖一個功能
-4
A
回答
0
說你有兩個不同的分值,currentScore和高分。
將highScore保存到用戶NSUserDefaults。
在每輪結束時,將新分數與高分進行比較。如果新分數較高,則將其保存到高分NSUserDefaults鍵。
然後使用highScore確定什麼級別解鎖。
0
我不明白爲什麼你不能只是做這種方式您重置INT回到0之前:
if (scorenumber == 30) {
// unlock new level
} else if (scorenumber == 100) {
// unlock another level
}
0
有幾種方法可以處理這個問題。您可以使用位標誌或特定標誌來指示是否有東西被解鎖。
因此,舉例來說,你可以做這樣的事情
typedef NS_ENUM(NSUInteger, Unlockable) {
UnlockableA = 1,
UnlockableB = 2,
};
@property (nonatomic, assign) NSUInteger unlockables;
// Code for checking score and unlockables.
// Hardcoding these values is bad, but just doing this for convenience now
if (self.scorenumber >= 30) {
if (self.unlockables & UnlockableA) {
// Unlock A
self.unlockables |= UnlockableA;
}
}
// Note this is not an else if, so you can award it in cases
// if you had score numbers incrementing at arbitrary values
if (self.scorenumber >= 100) {
if (self.unlockables & UnlockableB) {
// Unlock B
self.unlockables |= UnlockableB;
}
}
代碼沒有測試編譯,精度等
你必須確保堅持unlockables
,這也意味着它讀在開始。
如果你去了特定變量的路線,你會做這樣的事情:
@property(nonatomic, assign) BOOL unlockedA;
你可以從這裏找出休息。
另一種選擇是使用NSDictionary
來保存BOOL
(作爲NSNumber
)。
還有其他方法可以做到,但這些都是低懸的水果方法。
+0
可以說我想取消隱藏一個按鈕作爲遊戲的功能。在這個例子中,我會在哪裏放置代碼? – Apalumbo 2015-02-10 14:53:15
相關問題
- 1. 如何在某個功能完成後才能執行某個功能?
- 2. 功能鎖定,直到某個日期
- 3. 如何在一段時間後取消某個功能?
- 4. RIA:如何獲得的功能,而不是一個數據
- 5. 如何獲得一個按鈕來執行某項功能時,已被點擊
- 6. 如何獲得包含某個元素的最後一個數組?
- 7. 如何使一個功能只在某個區域運行(div)
- 8. 如何在點擊一個按鈕時調用某個功能?
- 9. 獲得一個ID功能的對象
- 10. 如何獲得此分割功能? (VB.NET)
- 11. 如何在完成第一個功能後執行功能?
- 12. 如何在給定時間後激活某個功能?
- 13. 如何在打開對話框後執行某個功能?
- 14. 無法獲得對焦功能,除了最後一個工作
- 15. 如何獲得一個Facebook頁面的功能的視頻
- 16. 我如何獲得兩個功能一起工作?
- 17. 如何在另一個項目中添加調用某個函數的功能
- 18. 功能得到「不是一個函數」
- 19. Boost :: mutex - 是否可以將其鎖定在一個類功能中並在另一個類中解鎖?
- 20. 功能在另一個功能參數
- 21. 某人如何在一個線程中鎖定多個對象?
- 22. 如何獲得280slides.com功能?
- 23. 如何在Android Studio中延遲一段時間後重復某個功能?
- 24. AngularJS如何在某些功能完成後執行功能?
- 25. 如何獲得最後一個單元格指數在Excel
- 26. 在bash字符串後如何獲得的第一個數字
- 27. 如何在c中查找最後一個窗口鎖定/解鎖時間#
- 28. 如何獲得一個列在Pandas groupby計數的百分比
- 29. 如何在同一控制器中從一個功能獲取參數到另一個功能laravel
- 30. 不綁定的值,而是一個功能(這個功能獲得價值)
這不會基於他寫的內容。得分重置爲0,所以你將多次傳遞'scorenumber'。另外,你假設他的得分每次都是+1。情況可能並非如此。順便說一句,是的,他說基於計時器,但沒有說你可能會從某些行動/事件中獲得「點數」。 – 2015-02-10 01:54:46
在這種情況下,如果if語句解鎖,他不能使用'highscore' int而不是'scorenumber'嗎? – user3781632 2015-02-10 01:59:43