我正在使用基本的 CGRectIntersectsRect 来检测精灵之间的碰撞,如下所示:
if (CGRectIntersectsRect(staff.frame, imgView.frame)) {
[self playSound];
}
然而,由于staff.frame
在 的帧上持续移动imgView.frame
,该方法playSound
被多次触发 - 与精灵相互覆盖所需的次数一样多 - 导致该playSound
方法的播放量过多且不必要。
话虽如此,是否可以将CGRectIntersectsRect
方法限制为在破坏检测之前只允许一次碰撞?