我正在尝试使用Swift中的sprite kit游戏模板为iOS开发新游戏。在我之前的应用程序中,它是一个单一视图应用程序(用Objective-C编写),我能够为那些IBActions
编写IBActions
个相应的方法。这是我在Objective-C单视图应用程序中使用的代码,它运行良好。
降低IBAction
- (IBAction)LeftArrowTapped:(id)sender {
[self heroMovementTimerMethodLeft];
}
- (IBAction)RightArrowTapped:(id)sender {
[self heroMovementTimerMethodRight];
}
在IBAction
内修改,取消了之前触摸释放的方法
- (IBAction)TouchEndedLeft:(id)sender {
[heroMovementTimerLeft invalidate];
}
- (IBAction)TouchEndedRight:(id)sender {
[heroMovementTimerRight invalidate];
}
以下是触摸时调用的声明方法
- (void)heroMovementTimerMethodLeft {
heroMovementTimerLeft =
[NSTimerscheduledTimerWithTimeInterval:speedOfhero target:self
selector:@selector(heroMovementLeft)userInfo:nil repeats:YES];
}
- (void)heroMovementTimerMethodRight {
heroMovementTimerRight = [NSTimer
scheduledTimerWithTimeInterval:speedOfhero target:self
selector:@selector(heroMovementRight) userInfo:nil repeats:YES];
}
- (void)heroMovementLeft {
hero.center = CGPointMake(hero.center.x -.5, hero.center.y);
}
- (void)heroMovementRight {
hero.center = CGPointMake(hero.center.x +.5, hero.center.y);
}
这是我在sprite kit游戏项目中的英雄self.addChild(myLabel)
hero.position = CGPointMake(self.size.width / 2, self.size.height /
12)
hero.xScale = 0.5
hero.yScale = 0.5
以下是我试图在sprite kit游戏中调用该动作的方法
func heroMovementLeft () {
heroMovementLeft = CGPointMake(hero.position.x -5 , hero.position.y)
}
然而它无法正常工作,我收到错误消息
我想我必须用触摸调用方法开始触摸结束(如果我错了请说明)功能但我如何格式化时间间隔或NStimer
用于为我的英雄编码物理#39;运动。