【问题标题】:Cocos2d: which information can I extract from a ccTouchesEnded event?Cocos2d:我可以从 ccTouchesEnded 事件中提取哪些信息?
【发布时间】:2013-06-17 14:42:53
【问题描述】:

愚蠢的问题,但对我来说澄清非常有用。

我正在开发一款游戏,我想识别一系列连续两次滑动(水平和垂直)以触发特殊拍摄。

问题来了。当我处理 ccTouchesEnded、ccTouchesMoved ccTouchesBegan 方法时,在多点触控事件的情况下会出现一些并发问题。

问题在于,如果我正在评估一系列触摸(touchBegan at position(0,0), touchMoved at pos(1,0), touchMoved at pos(2,0), touchEnded at pos(3,0) )) 并且用户启动了一个新的触摸系列(比如在位置 (10,40)),那么我将很难区分这两个系列。

有什么建议吗?

Cocos2d提供的函数中touch的NSSet有用吗?

例如:

-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

如何区分各种触摸?我的意思是,当

-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

【问题讨论】:

    标签: cocos2d-iphone touch multi-touch


    【解决方案1】:

    您可以存储传入的触摸,然后检查它们是否在ccTouchesMoved/ccTouchesEnded/ccTouchesCancelledtouches 参数中,并相应地处理它们。当他们ccTouchesEnded/ccTouchesCancelled时,不要忘记删除存储的触摸。

    【讨论】:

    • 如何区分两个并行的触摸事件?
    • if (touch == mySomehowStoredEarlierTouch)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多