问题标签 [nstimer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 为什么当我使用旋转相机渲染场景时,您希望出现在其他人后面的对象不这样做?OpenGL Objective-c
我正在渲染一个有两个球体的场景。我正在围绕其中一个旋转相机。发生的事情是违反直觉的。当相机绕着球体移动时,当你期望它在后面时,另一个会在它前面。所以看起来好像这些球体并没有相互旋转,而应该旋转的球体总是在前面。请帮忙。
下面是渲染场景的代码:
该块是在使用时调用的类的一部分。
和
包含数学做相机革命和gluLookAt()
iphone - NSTimer 平滑播放位置
我有一个音频播放器,我想显示播放的当前时间。我正在使用自定义游戏课程。
该应用程序将 mp3 下载到一个文件中,然后在下载 5% 时从该文件中播放。当文件播放时,我有一个进度视图更新,并在每次调用进度视图时更新一个标签。但是,这很生涩……有时甚至会倒退一两个数字。
我正在考虑使用 NSTimer 来解决问题。我会每秒被一个方法解雇,并将播放百分比数字传递给该方法,然后更新标签。
首先,这看起来合理吗?
其次,如何将百分比(浮点数)传递给计时器的目标。现在我将播放的百分比放入字典中,但这似乎不太理想。
这就是所谓的更新进度条:
这在 5 秒后首先被调用,但每次调用该方法时都会更新。
与往常一样,评论和指针表示赞赏。
iphone - iPhone OpenGL 和 NSTimer 问题
我有一个运行频率为 60hz 的 NSTimer。加载和渲染 OpenGL 场景后,我的游戏可以全天稳定地获得 60fps。然后如果我去重新编译应用程序或重新加载它,它将获得 40fps。加载相同的资源。我多年来一直遇到这个问题,我只想知道为什么。这太疯狂了,我想知道我是否应该放弃这个愚蠢的计时器。我的 3GS 负载之间的情况没有什么不同。有时它只会达到40fps。显然,负载之间的时钟速率没有差异,因此性能数据应该在恒定场景下保持恒定。这是我的帧率日志:
一个很好的负载::-)
帧率:61 帧率:61 帧率:61 帧率:60 帧率:60 帧率:61 帧率:60 帧率:60 帧率:61 帧率:60 帧率:61
现在,我将继续什么都不做,重新编译并运行:
帧率:43 帧率:50 帧率:45 帧率:48 帧率:40 帧率:45 帧率:42 帧率:41 帧率:42 帧率:44 帧率:41 帧率:46
^- 视觉上的巨大差异。飞天到底是什么原因造成的?
相同的场景区域,相同的相机设置。没有变量是不同的。
[编辑] 有人提到,音乐未在硬件解码器中运行会导致这种情况,有时即使您设置解码器也不会接管。但是,我可以说即使禁用了音乐,这种情况也会发生 [/Edit]
iphone - iphone NStimer 在 2 秒内启动
我试图在“启动”它后 2 秒运行一段代码。
我认为 NSTimer 可以做到这一点,但无法弄清楚。
iphone - iPhone NSTimer OpenGL 问题
我遇到的问题似乎只发生在设备上,而不是模拟器上。
我的应用程序的动画使用以下方法启动和停止:
在模拟器中,这可以正常工作,并且 drawView 开始以 60fps 的速度被调用。在设备上(在 iPod Touch 上测试), scheduleTimerWithTimeInterval 方法似乎不起作用。此外,[animationTimer invalidate] 会导致 EXC_BAD_ACCESS。
我发现了一个明显但很小的缺陷;将 if(animationTimer != nil) 添加到 stopAnimation 方法将防止崩溃,但不能解决动画计时器未正确初始化的问题。
编辑:以上内容并不能防止崩溃。animationTimer != nil 但调用无效会导致 EXC_BAD_ACCESS。
还应该补充一点,这个问题不会一直在设备上发生。也许有 40% 的时间。
iphone - 如何过早地脱离 NSTimer 调用的方法
基本上我正在编写一个节拍器应用程序,但我正在使用一个声音文件,根据 BPM,当再次调用“播放”方法时可能无法完成播放。例如,如果声音文件时长为 0.5 秒,但 BPM 为 200,则需要每 0.3 秒调用一次“播放”方法。
我对 NSTimer 不太熟悉,但似乎如果它应该在上一次调用完成之前触发,它不会,只是等待下一次。不过,我可能完全错了。
我需要做的是提前结束之前的调用,并在时间应该触发时再次调用“播放”方法。
任何帮助,将不胜感激!
iphone - iPhone 应用程序中带有 NSTimers 的“多线程”
假设我的 iPhone 应用程序中有两个 NSTimers: timer1和timer2。 timer1每秒调用function1 30 次,timer2 每秒调用function2 30 次。假设这两个函数正在读取和更新相同的整数变量。这里有任何“多线程”问题吗?如果不是,iPhone OS 如何处理这两个功能的执行(通常)?
iphone - 使用 NSTimer 和 NSDateFormatter 显示时间码
我非常接近完成我的第一个 iPhone 应用程序,这很开心。我正在尝试通过在 UILabel 上显示当前时间 (NSDate) 的 NSTimer 使用当前时间添加运行时间码。NSDate 对我来说工作正常,显示小时、分钟、秒、毫秒。但是我需要每秒显示 24 帧,而不是毫秒。
问题是我需要每秒帧数与小时、分钟和秒 100% 同步,所以我不能在单独的计时器中添加帧。我试过了,让它工作了,但帧计时器没有与日期计时器同步运行。
谁能帮我解决这个问题?有没有办法自定义 NSDateFormatter 以便我可以将日期计时器格式化为每秒 24 帧?现在我仅限于格式化小时、分钟、秒和毫秒。
这是我现在正在使用的代码
iphone - 有没有办法编写一个 NSTimer 所以它只是暂停程序一秒钟?
尝试更改按钮图片,稍等片刻,然后更改回来。没有太多的运气试图让它工作,所以有没有办法让程序暂停一秒钟,没有一个计时器实际执行任何东西,也没有程序继续执行代码?
iphone - 为什么我在 NSTimer 选择器中得到 EXC_BAD_ACCESS?
我有一个很奇怪的问题。简而言之,我将编写一些伪代码:
因此,由于未知原因,当我这样做时,我得到一个 EXC_BAD_ACCESS:
但是我追踪了从字典项目中得到的地址,没关系。字典中的项目的引用计数仍然是 1。字典中的项目的 {release, dealloc} 没有被调用。一切似乎都很好。此外,更糟糕的是,它适用于某些项目。
所以,我想知道是否存在线程问题?还是其他晦涩难懂的东西?
调用堆栈非常简单:
因此,任何建议在哪里看都会受到赞赏。
--- 编辑 #1 ---
@Laurent:这是我重写实际值以匹配我的示例的错字。(固定的)
@Jeremy:我会尝试发布一些代码来提供帮助。代码已被简化。
定时器初始化+刷新功能:
我希望它更清楚一点。
对,我已经在我的“函数”中评论了所有内容,看起来它没有崩溃。我会让它再运行一点,但我没有在那个函数中做任何特别的事情(与内存相关)。只是更新一些枚举值。
--- 编辑 #2 ---
@Laurent:关于callstak,你是对的,我犯了一个巨大的错误。它应该是计时器方法而不是函数。我只是修复它。对不起这个错误。但仅供参考,方法签名是: