使用 nextInt 包括 5-15 [Java] [重复] 的随机数

该categoryBits和maskBits是primarly的Box2D的说哪个夹具碰撞与其他夹具。


因此,当您的其中一个fixtures与fixture您不需要的全部或全部发生冲突时category- 或maskBits为它。


如果灯具与您不需要的所有其他灯具发生碰撞category- 或maskBits.

如果灯具不与任何其他灯具发生碰撞,您可以设置isSensor = true;而不是使用category- 和maskBits。


如果您知道哪个对象与另一个对象发生了碰撞,您可以使用UserDataof fixtures。


为您拥有的所有类型创建一个枚举:


public enum Type {

    NOTHING,

    GROUND,

    FRAN,

    FRAN_BODY_SENSOR,

    ENEMY_FRONT,

    BRICK,

    etc...

}

然后通过创建夹具,您可以将类型设置为 UserData:


Fixture fixture = body.createFixture(fixtureDef);

fixture.setUserData(Type.GROUND);

//short:

body.createFixture(fixtureDef).setUserData(Type.GROUND);

最后,您ContactListener可以检查夹具的 UserData 以找出哪个对象与哪个对象碰撞:


if(fixA.getUserData() == Type.FRAN_HEAD && fixB.getUserData() == Type.BRICK){

            //FRAN_HEAD and BRICK has collided

}


呼唤远方
浏览 183回答 1
1回答

呼啦一阵风

random.nextInt(N)会给你一个从 0 到 N-1 的随机整数。如果你想要它从 5 到 15,那么它的范围是 15-5+1,即 11。您需要使用random.nextInt(11)将范围从 [0,11) 设置为 [0,10],然后添加 +5 以将其移至 [5,15]。int count = random.nextInt(11) + 5;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java