菜鸟教程小白 发表于 2022-12-13 10:41:57

ios - 等待 [SKAction playSoundFileNamed :waitForCompletion:]


                                            <p><p>好吧,这个让我觉得自己像个白痴。</p>

<p>我在我的游戏中有一个方法,旨在通过使文本框中的文本一次弹出一个字母来为文本设置动画。在我的 <code>DDTextBox</code> 类中,有一个方法可以对其进行动画处理,称为 <code>animateText</code>。这是它的编码:</p>

<pre><code>for (NSUInteger i = 1; i &lt;= _text.length; i++)
    {
       completion:^{
             completion:^{
                ((SKLabelNode*)).text = (NSString*);

                ((SKLabelNode*)).position = CGPointMake(20 + (((SKLabelNode*)).frame.size.width / 2.0), ((SKLabelNode*)).frame.size.height - (((SKLabelNode*)).frame.size.height / 2.0) - 15);
                NSLog(@&#34;Textbox loading a letter on iteration %u&#34;, i);
            }];
      }];
    }
    completion();
</code></pre>

<p>它的目的是让名为 <code>textBoxText</code> 的节点发生变化,因此它是字符串 <code>_text</code> 的子字符串,直到索引 <code>i</code>,然后是 <strong >等到声音文件结束</strong>,直到它移动到下一个字符。</p>

<p>目前,声音播放一次,所有文本同时弹出。有问题的音频文件长约 200 毫秒。我将如何使它一遍又一遍地播放相同的文件?我会在 <code></code> 的方法调用之外声明 <code>SKAction</code> 吗?有什么想法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以通过创建一系列操作来做到这一点。您可能需要进行一些调整。</p>

<pre><code>NSMutableArray *marrActions = ;

for (NSUInteger i = 1; i &lt;= _text.length; i++)
{

    ];
    ];
    [marrActions addObject:[SKAction runBlock:^{
      ((SKLabelNode*)).text = (NSString*);

      ((SKLabelNode*)).position = CGPointMake(20 + (((SKLabelNode*)).frame.size.width / 2.0), ((SKLabelNode*)).frame.size.height - (((SKLabelNode*)).frame.size.height / 2.0) - 15);
      NSLog(@&#34;Textbox loading a letter on iteration %u&#34;, i);
    }]];
}

completion:completion]; //Pass off the completion block here
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 等待 ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29691320/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29691320/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 等待 [SKAction playSoundFileNamed :waitForCompletion:]