1

我有一个叫做 Gameplay 层的层,它本身就是游戏中 Tilemap 的处理程序,我在这个层中添加玩家并将玩家添加到 controlLayer 以便玩家类可以由玩家控制。然后我将 controlLayer 添加为此类(游戏层)的子级,问题是现在触摸的坐标(ccTouchesBegan ...)现在与 tileMap 的宽度和高度处于相同的坐标中。但是我希望 controlLayer 是独立的并且具有正常的 480x320 坐标,我该如何解决这个问题?

    controlLayer = [[DigGameControlLayer alloc]initWithObjectForPlayerControl:player];
    [self addChild:controlLayer];


- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {  
  for (UITouch *t in touches) {
    CGPoint touchLocation = [self convertTouchToNodeSpace:t];
4

1 回答 1

1

我要回答我自己的问题,使用触摸自己视图的 LocationInView 效果很好

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    for (UITouch *t in touches) {
        CGPoint touchLocation = [t locationInView:t.view];
于 2013-05-14T11:43:25.673 回答