ios - self.scene.view.paused = YES 在更新中
<p><p>我正在制作一个游戏,其中当 2 个对象(对象 A 和 B)发生碰撞时,游戏结束。每次调用 update 时,对象 A 的位置都会发生变化。对象 B 的位置是相同的。代码是:</p>
<pre><code>[self enumerateChildNodesWithName:@"objA" usingBlock:^(SKNode *node, BOOL *stop) {
if ()
{
;
;
}
</code></pre>
<p>问题是:我希望 objA 在碰撞后不会消失。因此,为此我删除了 <code>;</code> ,但是因为 update 被一次又一次地调用。我的节点数量增加了,我添加的声音似乎永远不会结束。所以,我尝试的是添加:</p>
<pre><code>;
-(void) pauseGame
{
self.scene.view.paused = YES;
;
}
</code></pre>
<p>我不得不延迟使用 <code>performSelector</code>,因为将 <code>self.scene.view.paused = YES;</code> 放在更新中不会让我去 <code>游戏结束</code>。但是,我不希望有任何延误!有没有办法做到这一点??</p>
<p>谢谢</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>只需在场景中使用一个状态变量来指示当前状态。
使用此状态对场景对象运行更新。</p>
<p>例如(伪代码):</p>
<pre><code>update()
if (state == GAME_PLAY) {
// Update relevant game nodes
} else if (state ==GAME_OVER) {
// Update only what needs to be updated when the game is over
}
</code></pre>
<p>这样您就不需要停止整个场景并只添加与当前游戏状态相关的内容</p></p>
<p style="font-size: 20px;">关于ios - self.scene.view.paused = YES 在更新中,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/23358216/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/23358216/
</a>
</p>
页:
[1]