[LIBGDX学习]LibGDX代码详解(十九)Box2D 金字塔
2018-02-24 14:08
232 查看
package com.mygdx.game.box2d; import com.badlogic.gdx.math.Vect a6da or2; import com.badlogic.gdx.physics.box2d.Body; import com.badlogic.gdx.physics.box2d.BodyDef; import com.badlogic.gdx.physics.box2d.BodyDef.BodyType; import com.badlogic.gdx.physics.box2d.EdgeShape; import com.badlogic.gdx.physics.box2d.PolygonShape; import com.badlogic.gdx.physics.box2d.World; public class Pyramid extends Box2DTest { @Override protected void createWorld (World world) { { BodyDef bd = new BodyDef(); Body ground = world.createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vector2(-40, 0), new Vector2(40, 0)); ground.createFixture(shape, 0.0f); shape.dispose(); } { float a = 0.5f; PolygonShape shape = new PolygonShape(); shape.setAsBox(a, a);// 长宽一米的砖块 //Vector2 x = new Vector2(-7.0f, 0.75f);// 起始点 Vector2 x = new Vector2(-20.0f, 0.01f); Vector2 y = new Vector2(); //Vector2 deltaX = new Vector2(0.5625f, 1.25f);// 下一层往后缩一点 //Vector2 deltaY = new Vector2(1.125f, 0.0f); Vector2 deltaX = new Vector2(0.57f, 1.01f); Vector2 deltaY = new Vector2(1.1f, 0.0f); for (int i = 0; i < 20; i++) { y.set(x); for (int j = i; j < 20; j++) { BodyDef bd = new BodyDef(); bd.type = BodyType.DynamicBody; bd.position.set(y); System.out.println(y); Body body = world.createBody(bd); body.createFixture(shape, 5.0f); y.add(deltaY);// 增加1.125 } x.add(deltaX); } } } }
相关文章推荐
- [LIBGDX学习]LibGDX代码详解(九)Box2D revolute joint
- [LIBGDX学习]LibGDX代码详解(十五)Box2D
- [LIBGDX学习]LibGDX代码详解(十七) Box2D character collision
- [LIBGDX学习]LibGDX代码详解(十八)Box2D body type
- [LIBGDX学习]LibGDX代码详解(四)Box2D
- [LIBGDX学习]LibGDX代码详解(五)Box2D
- [LIBGDX学习]LibGDX代码详解(十四)Box2D apply force
- [LIBGDX学习]LibGDX代码详解(二十二)Box2D 弹性
- [LIBGDX学习]LibGDX代码详解(七)Box2D
- [LIBGDX学习]LibGDX代码详解(十一)Box2D bridge
- [LIBGDX学习]LibGDX代码详解(十六)Box2D prismatic joint
- [LIBGDX学习]LibGDX代码详解(二十三)Box2D 传送带
- [LIBGDX学习]LibGDX代码详解(三)Box2D character control
- [LIBGDX学习]LibGDX代码详解(十三)Box2D wield joint
- [LIBGDX学习]LibGDX代码详解(十八)Box2D
- [LIBGDX学习]LibGDX代码详解(二十一)Box2D 子弹穿透
- [LIBGDX学习]LibGDX代码详解(三十四)Bullet
- LIBGDX学习]LibGDX代码详解(四十一)Bullet 接触测试
- [LIBGDX学习]LibGDX代码详解(二十四)Bresenham快速画直线算法
- [LIBGDX学习]LibGDX代码详解(三十二)Bullet 旋转