动画期间的图像碰撞

时间:2014-02-27 00:23:26

标签: ios collision-detection cgrect

我试图在两个图像触摸时发生这种情况。从我所见过的最好的方法是CGRecIntersectRect,当我在动画循环中处理图像时,它的效果非常好。如果有人可以帮我解决这个问题,那么当这两个图像触摸时会发生一个令人惊奇的动作! `

- (无效)startanimation {

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:2];
[UIView setAnimationDidStopSelector:@selector(animationdidstop) ];
_enemy1.center = CGPointMake(_enemy1.center.x +390, _enemy1.center.y);
[UIView commitAnimations]; 

}

-(void)animationdidstop
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDuration:2];
    [UIView setAnimationDidStopSelector:@selector(startanimation) ];
    _enemy1.center = CGPointMake(_enemy1.center.x -390, _enemy1.center.y);
    [UIView commitAnimations];
}


-(void)collision
{
    if (CGRectIntersectsRect(_node.frame, _bounds1.frame)) {
        NSLog(@"got to collision");
        [_node setHidden:YES];
    }
}


`

此部分紧随其后并且是问题所在。 _enemy1.frame似乎没有意识到它的碰撞或我不确定究竟是什么问题,但这是我认为问题所在。

 -(void)collision
    {
        if (CGRectIntersectsRect(_node.frame, _enemy1.frame)) {
            NSLog(@"got to collision");
            [_node setHidden:YES];
        }
    }
    }

1 个答案:

答案 0 :(得分:1)

仅使用CoreAnimation内容实现这一目标非常困难。我建议您查看SpriteKitCocos2d

  

精灵套件 -   是一个旨在制作功能强大的2D图形的框架   应用程序很容易。

     

Cocos2d -   是一个用于构建2D游戏,演示和其他的框架   图形/交互式应用程序。