package lilWorld; import processing.core.PApplet; import processing.core.PVector; public class Creeper extends Creature{ float wiggleFactor; int crPlus=10; public Creeper(PVector l, PVector a, PVector v, int m_, PApplet p) { super(l, a, v, m_, p); wiggleFactor = parent.random(5); } public void move() { //creep(creepSpeed); applyForce(grav); // applyForce(. .. ); // applyForce(. . .); if((loc.x <= 10) || (loc.x >= parent.width-10)) { //vel.x = -vel.x; //pure bounce PVector edgeForce = new PVector(-vel.x/3,parent.random(-1,5)); this.vel.mult(0); applyForce(edgeForce); } if ((loc.y <= 5) || (loc.y >= parent.height-10)) { //vel.y = -vel.y; //pure bounce PVector edgeForce = new PVector(parent.random(-2,2),-vel.y/3); this.vel.mult(0); applyForce(edgeForce); } vel.add(acc); loc.add(vel); acc.mult(0); PVector wiggle = new PVector(parent.random(-1,1),parent.random(-1,1)); wiggle.mult(wiggleFactor); loc.add(wiggle); // hacky, but it works; loc.x = PApplet.constrain(loc.x,0,parent.width-3); loc.y = PApplet.constrain(loc.y,0,parent.height-3); } public void show() { //System.out.println("here creeper"); parent.fill(200,200,200); //parent.noStroke(); if(getChangeColor()) { parent.fill(0,0, 255, 170); } else { parent.fill(200, 200, 200); } parent.pushMatrix(); parent.translate(loc.x,loc.y); parent.rotate(vel.heading2D()); parent.line(0, 0, size-2, 7); parent.line(0, 0, size-2, -7); /*parent.line(loc.x, loc.y, loc.x-(size-2), loc.y+7); parent.line(loc.x, loc.y, loc.x+(size-2), loc.y-7); parent.line(loc.x, loc.y, loc.x-(size-2), loc.y-7); parent.line(loc.x, loc.y, loc.x+(size-2), loc.y-14); parent.line(loc.x, loc.y, loc.x-(size-2), loc.y-14);*/ parent.ellipse(0,0, size, size+7); parent.popMatrix(); } }