【问题标题】:Cocos2d-android detecting bounding box of spriteCocos2d-android 检测精灵的边界框
【发布时间】:2014-01-14 14:26:22
【问题描述】:

是否可以检测与精灵边界框某些部分的碰撞? 例如,如果一个精灵跳跃并降落到一个平台上,就会检测到精灵边界框的底部和平台边界框的顶部的碰撞。

【问题讨论】:

    标签: java android eclipse cocos2d-android


    【解决方案1】:

    在我的项目中,我有一个辅助库,其中包含许多小功能,包括:

    CCRect CHelperMethods::InsetRect(const CCRect rectToInset, const float insetValueX, const float insetValueY) {
    return CCRectMake(rectToInset.origin.x + insetValueY, rectToInset.origin.y + insetValueY, rectToInset.size.width - insetValueX * 2, rectToInset.size.height - insetValueY * 2);
    }
    

    然后,例如一个已经着陆的精灵,它会有一个状态变量,我会说(伪代码)

    if(sprite.getState() == constStateLanded) {
        CheckCollisionForBox( CHelperMethods::InsetRect(sprite->boundingBox(), yourXOffset, yourYOffset));
    }
    

    HTH,当你标记 Android 和 ipHone 时,我不知道你是想要 Obj-C 还是 C++ :)

    【讨论】:

    • 我标记了 Android only 和 java 的语言,但感谢您的帮助!我会尝试使用你的建议。 :)
    • 啊,我猜另一个编辑添加了标签:)。不过,同样的事情也适用于 Java
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多