我用cocos2d編寫了幾款遊戲,但它們都是由加速度計控制的,並且只使用簡單的觸摸事件。我需要做的就是在任何地方觸摸屏幕時進行註冊。我不需要關於位置或速度的任何信息。角色目前在屏幕上移動,用戶應該能夠觸摸角色以使角色在屏幕上移動。當前的代碼不能按預期工作。角色不受觸摸影響,它只是繼續向下移動屏幕。請指教。以下是我現在嘗試使用的代碼。Cocos2d iPhone遊戲觸摸屏讓角色移動
在遊戲更新方法:
if (IsTouched == TRUE) {
SealPositionBasedOnTouchInt = SealPositionBasedOnTouchInt - (100*dt);
}
else {
SealPositionBasedOnTouchInt = SealPositionBasedOnTouchInt + (100*dt);
}
SealSwimming.position = ccp(SealPositionBasedOnTouchInt, SealSwimming.position.y);
觸摸事件:
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
for(UITouch *touch in touches)
{
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
IsTouched = TRUE;
}
}
你會發現我得到的觸摸位置,這是當前未使用的任何東西,但就是在樣品。
天哪,多麼愚蠢的錯誤。有時幫助其他人看看它。就是這樣,我沒有在init方法中啓用touch。謝謝!! – user597136 2011-06-06 13:38:04
沒問題!我們都這樣做! – 2011-06-06 13:39:53