Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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
Ios 超级快速消失的孩子_Ios_Swift_Sprite Kit - Fatal编程技术网

Ios 超级快速消失的孩子

Ios 超级快速消失的孩子,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我试图探索我们意识到的极限。。。好吧,这听起来太自命不凡了,基本上,我们要注意到某个东西需要多长时间才能看得见。但我不能让我的孩子尽快消失 valueX = SKLabelNode(fontNamed: "ArialRoundedMTBold") valueX.position = CGPoint(x: 0, y: 0) valueX.fontSize = 320 valueX.text = String("H")

我试图探索我们意识到的极限。。。好吧,这听起来太自命不凡了,基本上,我们要注意到某个东西需要多长时间才能看得见。但我不能让我的孩子尽快消失

        valueX = SKLabelNode(fontNamed: "ArialRoundedMTBold")
        valueX.position = CGPoint(x: 0, y: 0)
        valueX.fontSize = 320
        valueX.text = String("H")
        valueX.fontColor = SKColor.white
        self.addChild(valueX)
        valueX.run(SKAction.scale(to: 0, duration: 0.00001))

这应该是太快,看不见,但它似乎停留了约一秒钟。是否有其他技术可以使某些内容非常简短地显示?

我认为SK引擎不会在绘制之间缩放精灵,即屏幕刷新,因此它必须在屏幕上以全尺寸显示至少1帧,即1/60秒。我怀疑SK引擎会计算出每帧的缩放量,所以在下一帧中它可能完全消失了。例如,如果您想在1秒内缩放到25%,SK会认为自上次抽签以来已经是0.01666667秒,因此缩放量为1/60 x 75%=1.25%

如果动作的持续时间小于每帧的时间,则一帧的效果为100%,下一帧为0%

如果你研究“人类视觉的持久性”,你会发现很多信息(我自己没有研究过),这可能就是为什么它看起来“停留约一秒钟”,而不是仅仅停留1/60秒的原因


作为一个非常基本的检查,在
didMoveTo(:view)
的屏幕上随机点放置一个精灵,然后在
update()
中将其移动到一个随机点,这样每次运行
update()
时它都会移动(每1/60秒)。如果你看到它在闪烁,你就会知道你可以在1/60秒内感知到某些东西出现,但你无法更快地完成这项工作

回答得好。我正准备对此发表评论。SpriteKit(以及所有其他框架)的运行速度不能超过刷新速度。这几乎不可能做到OP的要求。非常感谢。令人惊讶的是,1/60秒出现的时间如此之长。对我来说太长了。