2011-12-28 36 views
0

我注意到有很多不同的方式來處理輸入觸摸。 (多點觸控)我應該使用來自NSSet的觸摸還是使用來自UIEvent的觸摸cocos2d

功能像

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

我應該直接使用觸摸(第一個參數),或者我應該使用[event allTouches](第二個參數)

我注意到,有些人甚至用

UITouch *touch = [touches anyObject]; 

我從Apple文檔檢查,anyObject只是從NSSet返回一個對象,是不是有點隨機?我沒有看到任何有用的調用,如果你正在做多點觸摸,每個觸摸的ID很重要。

我也知道[event allTouches]實際上會返回所有窗口中的所有接觸,但是當我們在cocos2d中做時,我認爲大部分時間我們只處理一個窗口?

那麼讓我說我的遊戲一次只有1個視圖(openGL視圖),那麼我應該使用哪個觸摸? 第一個參數涉及或[event allTouches]

希望有人能夠清楚我出去這:)

回答

1

如果你想使用多點觸控,你應該使用這個功能:

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

如果你想用一個觸摸你應該使用這個功能:

- (void)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event 

如果您使用多點觸控,你需要第一觸摸你應該使用NSSet中的第一個參數倒是,爲第二觸摸你應該使用第二個參數等