public static Vector2 mul(Vector2 v, float cx, float cy) { Vector2 ret = v.cpy(); ret.x *= cx; ret.y *= cy; return ret; }
@Override public Object clone(){ GDXGroup group = new GDXGroup(); group.name = name; group.center = center.cpy(); for(String object : circles) group.circles.add(object); for(String object : polygons) group.polygons.add(object); for(String object : joints) group.joints.add(object); return group; }
@Override public void setInfo(Cell deadCell, Vector2 culprit) { age = 0; pos = deadCell.pos.cpy(); size = deadCell.size; color = deadCell.getColorCopy(); }
@Override public float getDistance(float x, float y) { float closestDistance = Float.MAX_VALUE; for(Vector2 vertex : vertices) closestDistance = Math.min(closestDistance, vertex.cpy().add(center).dst2(x, y)); return (float) Math.sqrt(closestDistance);//just doing one sqrt, assuming its faster..? }
@Override public void setInfo(Cell deadCell, Vector2 culprit) { pos = deadCell.pos.cpy(); cellSize = deadCell.size; cellColor = deadCell.getColorCopy(); dropColor = new Color(cellColor.r, cellColor.g, cellColor.b, 0.0f); }
/** * @return list of skewed vertices to be centered around given origin */ public static List<Vector2> getCenterVerticesReverse(List<Vector2> vertices, Vector2 vertex){ return getCenterVertices(vertices, vertex.cpy().scl(-1)); }
@Override public Object clone() { PulleyJoint clone = new PulleyJoint(); clone.setAnchorA(anchorA.cpy()); clone.setAnchorB(anchorB.cpy()); clone.setGroundAnchorA(groundAnchorA.cpy()); clone.setGroundAnchorB(groundAnchorB.cpy()); clone.setLengthA(lengthA); clone.setLengthB(lengthB); clone.setRatio(ratio); return super.clone(clone); }
@Override public Object clone(){ GDXBackground background = new GDXBackground(); background.setCoordinates(coordinates.cpy()); background.setDepth(depth); background.setTexture(texture); background.setScale(scale); background.setScissor(scissor); background.setScissorLowerLeft(scissorLowerLeft.cpy()); background.setScissorUpperRight(scissorUpperRight.cpy()); return background; } @Override public String toString(){
private Vector2 lastTouch = new Vector2(); public boolean touchDown(int screenX, int screenY, int pointer, int button) { lastTouch.set(screenX, screenY); } public boolean touchDragged(int screenX, int screenY, int pointer) { Vector2 newTouch = new Vector2(screenX, screenY); // delta will now hold the difference between the last and the current touch positions // delta.x > 0 means the touch moved to the right, delta.x < 0 means a move to the left Vector2 delta = newTouch.cpy().sub(lastTouch); lastTouch = newTouch; }
@Override public Object clone(){ GDXPath clone = new GDXPath(); clone.setName(name); clone.setCompletionCriteria(completionCriteria); for(Vector2 node : nodes) clone.getNodes().add(node.cpy()); return clone; }
@Override public Object clone() { GDXPolygon clone = new GDXPolygon(); for(Vector2 vertex : vertices) clone.getVertices().add(vertex.cpy()); clone.setRepeatable(repeatable); return super.clone(clone); }
@Override public void setInfo(Cell deadCell, Vector2 culprit) { pos = deadCell.pos.cpy(); originalX = pos.x; size = deadCell.size; vanishSize = deadCell.size; vanishColor = deadCell.getColorCopy(); driftMagnitude = Gdx.graphics.getWidth() * 0.05f; vanishElapsed = 0; randomOffset = MathUtils.random(MathUtils.PI2); }
@Override public Object clone() { RopeJoint clone = new RopeJoint(); clone.setMaxLength(maxLength); clone.setCenter(center.cpy()); return super.clone(clone); }
public boolean putScreenPiece(final Piece piece) { // Convert the on screen coordinates of the piece to the local-board-space coordinates // This is done by subtracting the piece coordinates from the board coordinates Vector2 local = piece.pos.cpy().sub(pos); int x = MathUtils.round(local.x / piece.cellSize); int y = MathUtils.round(local.y / piece.cellSize); return putPiece(piece, x, y); }
@Override public Object clone() { WheelJoint clone = new WheelJoint(); clone.setAnchor(anchor.cpy()); clone.setAxis(axis.cpy()); clone.setDampingRatio(dampingRatio); clone.setEnableMotor(enableMotor); clone.setFrequencyHz(frequencyHz); clone.setMaxMotorTorque(maxMotorTorque); clone.setMotorSpeed(motorSpeed); return super.clone(clone); }
@Override public Object clone() { MouseJoint clone = new MouseJoint(center.cpy()); clone.setDampeningRatio(dampeningRatio); clone.setFrequencyHz(frequencyHz); clone.setMaxForce(maxForce); return super.clone(clone); }
Vector2 vectorbody = new Vector2(50f, 50f); Vector2 vectorcenter = new Vector2(100f,100f); Vector2 vectordis= vectorbody.cpy().sub(vectorcenter);//Displacement vector center to body vectordis.setAngle( vectordis.angle() + rotatespeed );//Rotate speed can be negative that means it will rotates to other side. vectordis.add(vectorcenter); //vectordis now became rotated vectorbody vectorbody.set(vectordis); //vectorbody updated
Shard(final Vector2 pos, final float size) { final float xRange = Gdx.graphics.getWidth() * EXPLOSION_X_RANGE; final float yRange = Gdx.graphics.getHeight() * EXPLOSION_Y_RANGE; vel = new Vector2(MathUtils.random(-xRange, +xRange), MathUtils.random(-yRange * 0.2f, +yRange)); acc = new Vector2(0f, Gdx.graphics.getHeight() * GRAVITY_PERCENTAGE); this.size = size * MathUtils.random(0.40f, 0.60f); this.pos = pos.cpy().add(this.size * 0.5f, this.size * 0.5f); }
@Override public Object clone() { RevoluteJoint clone = new RevoluteJoint(); clone.setAnchor(anchor.cpy()); clone.setEnableLimit(enableLimit); clone.setEnableMotor(enableMotor); clone.setLowerAngle(lowerAngle); clone.setUpperAngle(upperAngle); clone.setMaxMotorTorque(maxMotorTorque); clone.setMotorSpeed(motorSpeed); clone.setReferenceAngle(referenceAngle); return super.clone(clone); }
private static RevoluteJoint attach(GDXShape lastShape, GDXShape shape, int count, String prefix){ RevoluteJoint joint = new RevoluteJoint(); joint.setBodyA(lastShape.getName()); joint.setBodyB(shape.getName()); joint.setAnchor(shape.getCenter().cpy().add(lastShape.getCenter()).scl(.5f)); joint.setName(prefix + "-" + count); return joint; } }