菜鸟教程小白 发表于 2022-12-12 21:30:48

ios - userInteractionEnabled = NO 是什么意思,它是如何工作的?


                                            <p><p>Cocos 2d-iphone 3.0。我正在使用此代码来检测是否触摸了单个 Sprite </p>
<pre><code>-(void) touchBegan:(UITouch *)touch withEvent:(UIEvent *)event {

    CGPoint location = ];
    CGPoint convertedlocation = [ convertToGL: location];
    CGPoint convertedNodeSpacePoint = ;
   
    if (CGRectContainsPoint(,convertedNodeSpacePoint))
    {
      // Remove sprite
    }
}
</code></pre>
<p>我有一些代码应该从父级中删除一些其他 Sprite 。逻辑上,当 <code>_sprite</code></p>
<p>第二次触摸,应用程序将崩溃,因为其他 Sprite 已经被删除了。</p>
<p>我试图使用 <code>_sprite.userInteractionEnabled = NO;</code> 使 <code>_sprite</code> 不可触摸,但这没有效果。</p>
<p><code>userInteractionEnabled</code> 的确切含义是什么以及如何使用它来促进 Sprite 的触摸检测。</p>
<p>在我的场景中处理 Sprite 触摸的最佳方式是什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>没有办法禁用 ccsprite 上的交互。你应该做的是:</p>
<pre><code>bool firstTimeClicked=false;

-(void) touchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
    if(firstTimeClicked==true)
    {
      return NO;
    }
    CGPoint location = ];
    CGPoint convertedlocation = [ convertToGL: location];
    CGPoint convertedNodeSpacePoint = ;
    if (CGRectContainsPoint(,convertedNodeSpacePoint)) {
      firstTimeClicked=true;
    }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - userInteractionEnabled = NO 是什么意思,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23054632/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23054632/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - userInteractionEnabled = NO 是什么意思,它是如何工作的?