2015-07-09 2 views
0

Не было точно известно, как назвать это, но мне нужно подсчитать, сколько противников убит игрок, прежде чем они умрут и возродятся для моей точки и системы здравоохранения.Как перенести объект с помощью действия?

Моя идея - создать переменную, которая получает 1 добавленный к ней на каждом столкновении, а затем, когда игрок убит, он берет сумму этой хранимой переменной оценки и использует ее для точки и для моей системы здравоохранения, которая это переместить что-то на экран вверх.

Некоторые супер псевдо-код будет выглядеть следующим образом:

var storedPlayerScore = 0 


    var HealthPlus = SKAction.moveBy(CGVectorMake(0, (10 * storedPlayerScore)), duration: 0.05) 

У меня есть оба, определенные в моем Gamescene.

, а затем вниз в моем didbegincontact, я просто хотел бы, как сохраненный playerscore ++ всякий раз, когда сталкиваются два правильных объекта.

Так что, прежде чем, когда я просто убедился в работоспособности здоровья, у меня было число, в котором хранилась переменная, но когда я использую это, он дает мне «Gamescene.type не имеет переменной с именем storedPlayerScore»

Я нахожусь на правильном пути здесь? Как очистить ошибку, которую я получаю?

ответ

2

Вы пытаетесь получить доступ к чему-либо самому типу, а не экземпляру этого типа.

class GameScene { 
    var storedPlayerScore: Int = 0 
} 

var score1 = GameScene.storedPlayerScore // Error 

let myGameScene = GameScene() 
var score2 = myGameScene.storedPlayerScore // Works 

Эта путаница, вероятно, связана с именами, которые вы выбираете для своих переменных. В вашем коде выше у вас есть переменная с именем HealthPlus, которая называется с первой буквой капитала. Это делает его похожим на тип вместо экземпляра. Соглашение для имен переменных начинается с строчной буквы, а объявления типа начинаются с заглавной буквы. Таким образом, это должно быть healthPlus.

+0

Спасибо за сверхчистое объяснение. Работает отлично. Хороший! – Noowoo

Смежные вопросы