【问题标题】:Showing a frame when collision is detected (cocos2d iPhone)检测到碰撞时显示帧(cocos2d iPhone)
【发布时间】:2011-03-07 01:17:25
【问题描述】:

我有一个使用 CCSpriteBatchNode 设置的英雄角色,其中包含所有动画和帧。但我想知道,当英雄被击中时如何显示一个框架(我已经设置了碰撞检测)。我该如何做到这一点?我把它放在 CCSpriteBatchNode 里面吗?这不是搬家的一部分,仅适用于特殊场合。

【问题讨论】:

    标签: iphone animation cocos2d-iphone collision-detection frame


    【解决方案1】:

    你可以设置你的英雄不可见([sprite setVisible: NO])并在英雄的位置显示另一个精灵。

    除此之外,你可以将这个精灵保存在你的英雄类对象中,并提供一个方法来在碰撞发生时改变可见的精灵。像这样的

    -(void) onCollision
    {
        [heroMainSprite setVisible:NO];
        [heroCollisionSprite setVisible:YES];
    }
    

    这样的解决方案还将保留您之前已经完成的所有逻辑。

    【讨论】:

      【解决方案2】:

      当英雄被击中时..改变纹理..

      [spr setTextureRect:CGRectMake(startX, startY, width, height)];
      

      它需要与动画的其余部分在同一个批处理节点中..

      【讨论】:

        猜你喜欢
        • 2014-05-05
        • 1970-01-01
        • 1970-01-01
        • 2012-03-04
        • 2011-08-14
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        相关资源
        最近更新 更多