我正在使用NSTimer更新圖像在屏幕上的位置以給出運動錯覺。這是我創建學習斯威夫特的飛鳥克隆。無論如何,我還通過顯示遞增的Int作爲分數來更新插座。但是,每次更新Int和相應的插座時,屏幕上的圖像都會重置爲起始點(鳥和管)。很奇怪。有沒有其他人遇到過這個?我究竟做錯了什麼?Swift NSTimer和IBOutlet問題
@IBOutlet weak var tube1: UIImageView!
@IBOutlet weak var bird1: UIImageView!
@IBOutlet weak var score: UILabel!
func startTimer() {
timer = NSTimer.scheduledTimerWithTimeInterval(0.02, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
}
func update() {
bird1.center=CGPointMake(50,bird1.center.y+CGFloat(num));
tube1.center=CGPointMake(tube1.center.x-CGFloat(num2),tube1.center.y);
if(tube1.center.x<(-40)){
tube1.center.x=screenWidth;//variable set outside this method
tube1.center.y=0;//will be random
updateMyScore();
}
}
func updateMyScore(){
myScore=++;
score.text="Score: \(myScore)"
}
奇怪的是,如果我註釋掉score.text =「得分:(myScore的)」行一切工作正常,但我想在屏幕上的得分表演。有什麼建議麼?
'myScore = ++;'不能編譯。 – 2014-10-07 01:34:02
你能發佈更多這個類嗎? – 2014-10-07 01:40:33
請勿將NSTimer用於動畫! – 2014-10-07 07:01:23