List of usage examples for com.badlogic.gdx.physics.box2d Joint getBodyB
public Body getBodyB()
From source file:com.altportalgames.colorrain.utils.Box2DDebugRenderer.java
License:Apache License
private void drawJoint(Joint joint) { Body bodyA = joint.getBodyA();//w w w .ja v a 2s . c o m Body bodyB = joint.getBodyB(); Transform xf1 = bodyA.getTransform(); Transform xf2 = bodyB.getTransform(); Vector2 x1 = xf1.getPosition(); Vector2 x2 = xf2.getPosition(); Vector2 p1 = joint.getAnchorA(); Vector2 p2 = joint.getAnchorB(); if (joint.getType() == JointType.DistanceJoint) { drawSegment(p1, p2, JOINT_COLOR); } else if (joint.getType() == JointType.PulleyJoint) { PulleyJoint pulley = (PulleyJoint) joint; Vector2 s1 = pulley.getGroundAnchorA(); Vector2 s2 = pulley.getGroundAnchorB(); drawSegment(s1, p1, JOINT_COLOR); drawSegment(s2, p2, JOINT_COLOR); drawSegment(s1, s2, JOINT_COLOR); } else if (joint.getType() == JointType.MouseJoint) { } else { drawSegment(x1, p1, JOINT_COLOR); drawSegment(p1, p2, JOINT_COLOR); drawSegment(x2, p2, JOINT_COLOR); } }
From source file:com.blindtigergames.werescrewed.debug.SBox2DDebugRenderer.java
License:Apache License
private void drawJoint(Joint joint) { Body bodyA = joint.getBodyA();//w ww .j a v a 2 s .c o m Body bodyB = joint.getBodyB(); Transform xf1 = bodyA.getTransform(); Transform xf2 = bodyB.getTransform(); Vector2 x1 = xf1.getPosition(); Vector2 x2 = xf2.getPosition(); Vector2 p1 = joint.getAnchorA(); Vector2 p2 = joint.getAnchorB(); if (joint.getType() == JointType.DistanceJoint) { drawSegment(p1, p2, JOINT_COLOR); } else if (joint.getType() == JointType.PulleyJoint) { PulleyJoint pulley = (PulleyJoint) joint; Vector2 s1 = pulley.getGroundAnchorA(); Vector2 s2 = pulley.getGroundAnchorB(); drawSegment(s1, p1, JOINT_COLOR); drawSegment(s2, p2, JOINT_COLOR); drawSegment(s1, s2, JOINT_COLOR); } else if (joint.getType() == JointType.MouseJoint) { drawSegment(joint.getAnchorA(), joint.getAnchorB(), JOINT_COLOR); } else { drawSegment(x1, p1, JOINT_COLOR); drawSegment(p1, p2, JOINT_COLOR); drawSegment(x2, p2, JOINT_COLOR); } }
From source file:com.johnogel.astrobros.levels.BonusLevel.java
@Override public void update() { if (Gdx.input.isKeyJustPressed(Input.Keys.P)) { resolvePause();/*from w w w .ja va 2 s. c om*/ } if (!paused) { if (sizzle) { Random r = new Random(); sound_player.playSound(SoundPlayer.SIZZLE_SOUND, .9f, r.nextFloat() * 5 + 1.0f); sizzle = false; } this.camera_last_x = camera.position.x; this.camera_last_y = camera.position.y; mngr.updateGameObjects(); if (dead) { notifyLoss(); } /*this was the part where you could switch, but I'm nixing it //switches player if connected if(Gdx.input.isKeyJustPressed(Keys.RIGHT)){ player_index++; if(player_index > controlled_bros.size - 1){ player_index = 0; } player.disablePlayer(); player = (Player)controlled_bros.get(player_index); player.enablePlayer(); } //switches player if connected if(Gdx.input.isKeyJustPressed(Keys.LEFT)){ player_index--; if(player_index == -1 || player_index > controlled_bros.size - 1){ player_index = controlled_bros.size - 1; } player.disablePlayer(); player = (Player)controlled_bros.get(player_index); player.enablePlayer(); } */ gravitate(); if (!player.isSpacePressed()) { Array<Joint> joints = new Array(); world.getJoints(joints); for (Joint j : joints) { if (j.getBodyA().equals(player.getBody()) || j.getBodyB().equals(player.getBody())) { world.destroyJoint(j); } } int size = controlled_bros.size; for (int i = 0; i < size; i++) { //System.out.println("---------------------------------------ADD DEM FREE BODIES"); free_bodies.add(controlled_bodies.pop()); free_bros.add(controlled_bros.pop()); } controlled_bros.clear(); controlled_bodies.clear(); free_bros.removeValue(player, false); free_bodies.removeValue(player.getBody(), false); controlled_bodies.add(player.getBody()); controlled_bros.add(player); } //need to figure out way to remove bodies from arrays outside of contact listener attachBodies(); if (joint_def_created) { joint_def_created = false; } //checks if any bro is in goldilocks zone. I'm not sure if I'm spelling that correctly int i = 0; goldilocks = false; for (AstroBro b : bros) { if (CircleObject.distance(b, inner_orbit) > inner_orbit.getRadius() && CircleObject.distance(b, outer_orbit) < outer_orbit.getRadius()) { //System.out.println("GOLDILOCKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); i++; goldilocks = true; if (is_red) { // inner_orbit.setTexture(BoundaryCircle.BLUE); // outer_orbit.setTexture(BoundaryCircle.BLUE); inner_orbit.setTexture(blue_texture); outer_orbit.setTexture(blue_texture); is_red = false; } } if (CircleObject.distance(b, inner_orbit) > outer_boundary.getRadius()) { this.enforceOutOfBounds(b); } } safe_bros = i; score_chars = i + " / " + this.total_bros; if (!goldilocks && !is_red) { inner_orbit.setTexture(red_texture); outer_orbit.setTexture(red_texture); is_red = true; } ticker++; if (ticker % 60 == 0) { timer--; timer_chars = "" + timer; if (safe_bros == bros.size - 1) { win_timer--; } else { win_timer = this.WIN_TIMER_MAX; } win_timer_chars = "" + win_timer; } if (win_timer < 1 && safe_bros == bros.size - 1) { notifyWin(); } if (bros.size < total_bros) { notifyLoss(); } //check if level is over if (timer < 1) { if (this.safe_bros > 0) { notifyWin(); } else { notifyLoss(); } } while (bumps > 0) { float pitch = MathUtils.random(.4f) + .42f; System.out.println("PITCH: " + pitch); sound_player.playSound(SoundPlayer.BUMP_SOUND, .01f, pitch); bumps--; } cleanUp(); if (!dead) { updateSunSound(); background.update(); updateLocators(mngr.getSpriteBatch()); } } }
From source file:com.johnogel.astrobros.levels.Level.java
@Override public void update() { //player.update(mngr.getSpriteBatch()); if (Gdx.input.isKeyJustPressed(Keys.P)) { resolvePause();// w w w . ja v a2s . c o m } if (!paused) { if (sizzle) { Random r = new Random(); sound_player.playSound(SoundPlayer.SIZZLE_SOUND, .9f, r.nextFloat() * 5 + 1.0f); sizzle = false; } this.camera_last_x = camera.position.x; this.camera_last_y = camera.position.y; mngr.updateGameObjects(); if (dead) { notifyLoss(); } /*this was the part where you could switch, but I'm nixing it //switches player if connected if(Gdx.input.isKeyJustPressed(Keys.RIGHT)){ player_index++; if(player_index > controlled_bros.size - 1){ player_index = 0; } player.disablePlayer(); player = (Player)controlled_bros.get(player_index); player.enablePlayer(); } //switches player if connected if(Gdx.input.isKeyJustPressed(Keys.LEFT)){ player_index--; if(player_index == -1 || player_index > controlled_bros.size - 1){ player_index = controlled_bros.size - 1; } player.disablePlayer(); player = (Player)controlled_bros.get(player_index); player.enablePlayer(); } */ gravitate(); if (!player.isSpacePressed()) { Array<Joint> joints = new Array(); world.getJoints(joints); for (Joint j : joints) { if (j.getBodyA().equals(player.getBody()) || j.getBodyB().equals(player.getBody())) { world.destroyJoint(j); } } int size = controlled_bros.size; for (int i = 0; i < size; i++) { //System.out.println("---------------------------------------ADD DEM FREE BODIES"); free_bodies.add(controlled_bodies.pop()); free_bros.add(controlled_bros.pop()); } controlled_bros.clear(); controlled_bodies.clear(); free_bros.removeValue(player, false); free_bodies.removeValue(player.getBody(), false); controlled_bodies.add(player.getBody()); controlled_bros.add(player); } //need to figure out way to remove bodies from arrays outside of contact listener attachBodies(); if (joint_def_created) { joint_def_created = false; } //checks if any bro is in goldilocks zone. I'm not sure if I'm spelling that correctly int i = 0; goldilocks = false; for (AstroBro b : bros) { if (CircleObject.distance(b, inner_orbit) > inner_orbit.getRadius() && CircleObject.distance(b, outer_orbit) < outer_orbit.getRadius()) { //System.out.println("GOLDILOCKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); if (!b.equals(player)) { i++; } goldilocks = true; if (is_red) { // inner_orbit.setTexture(BoundaryCircle.BLUE); // outer_orbit.setTexture(BoundaryCircle.BLUE); inner_orbit.setTexture(blue_texture); outer_orbit.setTexture(blue_texture); is_red = false; } } if (CircleObject.distance(b, inner_orbit) > outer_boundary.getRadius()) { this.enforceOutOfBounds(b); } } safe_bros = i; score_chars = i + " / " + this.total_bros; if (!goldilocks && !is_red) { inner_orbit.setTexture(red_texture); outer_orbit.setTexture(red_texture); is_red = true; } ticker++; if (ticker % 60 == 0) { timer--; timer_chars = "" + timer; if (safe_bros == bros.size - 1) { win_timer--; } else { win_timer = this.WIN_TIMER_MAX; } win_timer_chars = "" + win_timer; } if (win_timer < 1 && safe_bros == bros.size - 1) { notifyWin(); } if (bros.size == 1) { notifyLoss(); } //check if level is over if (timer < 1) { if (this.safe_bros > 0) { notifyWin(); } else { notifyLoss(); } } while (bumps > 0) { float pitch = MathUtils.random(.4f) + .42f; System.out.println("PITCH: " + pitch); sound_player.playSound(SoundPlayer.BUMP_SOUND, .01f, pitch); bumps--; } if (!dead) { cleanUp(); updateSunSound(); background.update(); updateLocators(mngr.getSpriteBatch()); } } }
From source file:org.box2d.r3.gdx.GDXBox2DDebugRenderer.java
License:Apache License
private void drawJoint(final Joint joint) { final Body bodyA = joint.getBodyA(); final Body bodyB = joint.getBodyB(); final Transform xf1 = bodyA.getTransform(); final Transform xf2 = bodyB.getTransform(); final Vector2 x1 = xf1.getPosition(); final Vector2 x2 = xf2.getPosition(); final Vector2 p1 = joint.getAnchorA(); final Vector2 p2 = joint.getAnchorB(); if (joint.getType() == JointType.DistanceJoint) { this.drawSegment(p1, p2, this.JOINT_COLOR); } else if (joint.getType() == JointType.PulleyJoint) { final PulleyJoint pulley = (PulleyJoint) joint; final Vector2 s1 = pulley.getGroundAnchorA(); final Vector2 s2 = pulley.getGroundAnchorB(); this.drawSegment(s1, p1, this.JOINT_COLOR); this.drawSegment(s2, p2, this.JOINT_COLOR); this.drawSegment(s1, s2, this.JOINT_COLOR); } else if (joint.getType() == JointType.MouseJoint) { this.drawSegment(joint.getAnchorA(), joint.getAnchorB(), this.JOINT_COLOR); } else {/* w w w. j av a 2 s .c o m*/ this.drawSegment(x1, p1, this.JOINT_COLOR); this.drawSegment(p1, p2, this.JOINT_COLOR); this.drawSegment(x2, p2, this.JOINT_COLOR); } }