gpt4 book ai didi

ios - Swift 早期函数​​在没有防护的情况下退出 Swift

转载 作者:行者123 更新时间:2023-11-29 01:16:03 25 4
gpt4 key购买 nike

我正在寻找一种不使用 guard 退出函数的方法。经过大量搜索,我找不到一种方法来退出函数并在按下按钮时同时调用下一个函数。该按钮使用选择器调用重复:

@IBAction func BottomLeft(sender: AnyObject) {
NSTimer.scheduledTimerWithTimeInterval(NSTimeInterval(0.01), target: self, selector: "bottomLeftMovement", userInfo: nil, repeats: true)
}

这是按下代码按钮时,球将跟随此运动:

func bottomLeftMovement() {
Ballx = Ballx - 0.6125
Bally = Bally + 1.2
self.Ball.center.x = Ballx
self.Ball.center.y = Bally
}

我想做的是当按下不同的按钮时,该函数将退出并调用相应的函数。

我无法对第一个函数进行硬编程,因为它是一个可以互换的东西,而不是一个函数链。

如有任何帮助,我们将不胜感激。

最佳答案

您的代码所做的是在您每次点击按钮时创建一个新计时器。这不是执行此操作的正确方法。我建议您对游戏开发进行一些研究/阅读。但基本上,如果您要以这种方式做事(这又不是一件好事 (tm))。您需要跟踪属性中的计时器,并使其无效(以停止它)。也阅读有关计时器的信息 ( https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/ )

所以,简而言之:
- 不要这样做
- 如果必须,请在属性中跟踪您的计时器
- invalidate() 你的计时器并根据需要启动一个新的计时器

注意:像这样跟踪并使计时器失效:(请注意,我是凭内存做的,没有经过测试,但类似于...)

class someClass {
var myTimer = NSTimer?

func myFunction() {
if let timer = myTimer {
timer.invalidate()
}

timer = NSTimer(...

关于ios - Swift 早期函数​​在没有防护的情况下退出 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35163705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com