Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 一个每秒调用几次的重写方法?还是一个可以安全编码的循环?_Iphone_Objective C - Fatal编程技术网

Iphone 一个每秒调用几次的重写方法?还是一个可以安全编码的循环?

Iphone 一个每秒调用几次的重写方法?还是一个可以安全编码的循环?,iphone,objective-c,Iphone,Objective C,制作一个简单的纸牌游戏,当用户控制时应该可以,因为他会按下一个按钮。它将调用分配给该按钮的方法,执行逻辑并更新屏幕 但是当玩家结束时,我希望人工智能运行几秒钟,用它的决定更新屏幕。处理一些逻辑,调用一些动画,然后将控制权交还给用户 在我的控制器类中是否有一个方法可以重写,它是NSObject的一个子类,每次循环或每秒至少调用5-10次?或者你们是怎么处理的 谢谢 -代码只需创建一个NSTimer,它以您想要的频率调用tick方法。但请记住,NSTimer不能保证精确,因此为了避免逐渐累积错误,您

制作一个简单的纸牌游戏,当用户控制时应该可以,因为他会按下一个按钮。它将调用分配给该按钮的方法,执行逻辑并更新屏幕

但是当玩家结束时,我希望人工智能运行几秒钟,用它的决定更新屏幕。处理一些逻辑,调用一些动画,然后将控制权交还给用户

在我的控制器类中是否有一个方法可以重写,它是NSObject的一个子类,每次循环或每秒至少调用5-10次?或者你们是怎么处理的

谢谢
-代码

只需创建一个NSTimer,它以您想要的频率调用tick方法。但请记住,NSTimer不能保证精确,因此为了避免逐渐累积错误,您可能需要检查实际已过的时间(例如,如果计时器在500个刻度上平均延迟10毫秒,则取决于精确计时的代码将延迟5秒).

看起来你根本不想要背景线程(至少不是你制作的)或计时器

你真正想做的是在视觉上为AI动作设置动画,为此,请看CoreAnimation的内容,为AI动作定义动画,然后播放它们。可以指定动画要使用的时间段

查看本项目,了解从简单到复杂的动画示例:


你的问题有点不清楚。您是否询问如何阻止用户采取任何行动?您是否正在寻找这种每秒5-10次的方法,因为您希望将其用于调度?如果是这样的话,你可能想看看NSTimer。是的,我需要设置一个回调,以便更新屏幕。当控制权移交给AI玩家时,我需要更新/设置他的动作动画。或者为自己生成一个线程来运行一个continuos循环,该循环可以包含一个状态机之类的东西。谢谢Chuck!我要试一次。:)