我一直用下面的方法來檢測,當觸摸開始,什麼位置是:獲取當前觸摸位置隨時在cocos2d爲iPhone
-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
CGPoint touchLocation = [touch locationInView: [touch view]];
touchLocation = [[CCDirector sharedDirector] convertToGL:touchLocation];
touchLocation = [self convertToNodeSpace:touchLocation];
return YES;
}
但我也想知道如何獲得當前如果我的手指仍然在屏幕上,可以隨時隨地觸摸我的位置。任何人都知道嗎?謝謝。
編輯
我會後本作中位,我認爲一個答案,但是這是我做過什麼:
我只是不停地在所有的以外定義的ccTime方法,把一個變量我的方法:
- (void)update:(ccTime)dt {
heroMoveEndLoc = [self convertToNodeSpace:heroMoveEndLoc];
}
我遇到的問題,即使使用ccTouchMoved,我也需要移動手指才能使事件發生。 – VagueExplanation 2011-05-10 17:45:17
因此,當你的手指仍然在同一個位置按下時,你想要連續生成事件嗎? – makdad 2011-05-10 17:53:31
是的,它聽起來很奇怪,但節點空間實際上會因爲地圖滾動到您的觸摸位置而發生變化,所以即使您的手指位於相同的位置,如果滾動,觸摸也將是節點空間中的不同位置。 – VagueExplanation 2011-05-10 17:58:22