0

私は宇宙船を持っています。宇宙船をプレイヤーが触れたエリアに移動させたい。これまでのところ、私はこのコードを持っています:

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

  // initialize touch
  UITouch *touch = [touches anyObject];

  // point out location of touch
  CGPoint location = [touch locationInView:[touch view]];

  // move to location
  [player runAction:[CCMoveTo actionWithDuration:0.5 position:location]];

  // log action
  CCLOG(@"player moved");

}

ただし、これには癖があります。特定の場所に触れると、シャトルはゆっくりと移動し、下ではなく上に移動し、その他の奇妙な動きをします。このコードを修正する方法はありますか?

4

1 に答える 1

2

行の後:

 CGPoint location = [touch locationInView:[touch view]];

次の行を追加します。

location = [[CCDirector sharedDirector] convertToGL: location]; 

次に、試してください。:)

于 2012-07-04T18:38:51.443 に答える