【问题标题】:iOS/Cocos2d - Circle detection during finger movementiOS/Cocos2d - 手指移动期间的圆圈检测
【发布时间】:2013-12-18 02:15:02
【问题描述】:

我正在 iOS 平台上开发基于 cocos2d-x 的游戏。

在我的游戏中,我需要在特定精灵的边界框上检测圆形手势。 当触摸事件结束时,我有检测圆圈的解决方案 http://blog.federicomestrone.com/2012/01/31/creating-custom-gesture-recognisers-for-ios/

但是,要求在 onTouchMove 期间检测到圆,而不是 onTouchEnded。 另外,我需要知道创建圆的方向,即顺时针或逆时针。并在手指移动过程中改变方向。 另一个要求是计算手指移动时完成的圈数。

在这种圆形手势检测方面需要一些帮助。 提前致谢。

【问题讨论】:

    标签: ios iphone objective-c cocos2d-x


    【解决方案1】:

    在触摸移动事件期间,您可以使用以下(伪代码)确定从精灵中心到触摸位置的角度:

    angle = atan2(touch.y - spriteCenter.y, touch.x - spriteCenter.x);
    

    然后找到自上次测量以来的角度偏移并将其添加到运行计数中:

    angleOffset = atan2(sin(angle-lastAngle), cos(angle-lastAngle));
    angleRotated += angleOffset;
    

    |角度旋转|将测量发生了多少次革命以及它们发生的方向。

    您可能还需要考虑触摸和精灵之间的距离,以确保形状是圆形的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多