xxxxxxxxxx
float x = 300;
float y = 300;
float speed = 7;
int i = 0;
int z = 0;
boolean isLeft, isRight, isUp, isDown;
boolean rightMovement ,rightFacing;
boolean leftMovement ,leftFacing;
int c = color(0);
PImage[] reverseRun = new PImage [16];
PImage[] zeroArray = new PImage [16];
void setup(){
size(800,600);
//Right Facing
for(int i = 0; i < zeroArray.length; i++){
zeroArray[i] = loadImage (i + ".png");
zeroArray[i].resize(355,355);
}
//Left Facing
for( int z = 0; z < reverseRun.length; z++){
reverseRun[z] = loadImage ( "mirror" + z + ".png");
reverseRun[z].resize(155,155);
}
}
void draw(){
frameRate(15);
background(255);
imageMode(CENTER);
fill(c);
//Needs to be inside Draw or will have a key delay
if (isLeft ){
x -= speed;
leftMovement = true;
leftFacing = true;
rightFacing = false;
} else {
leftMovement = false;
}
if(isRight){
x += speed;
rightMovement = true;
leftFacing = false;
rightFacing = true;
} else{
rightMovement = false;
image(zeroArray[0], x , 300);
}
//-----------------------------
// Drawing selection (left or right)
if(rightMovement && !leftFacing){
image(zeroArray[i], x, 300);
i++;
} else if(!rightMovement && rightFacing){
image(zeroArray[i], x, 300);
i = 0;} else if(leftMovement && !rightFacing){
image(reverseRun[z], x ,300);
z++;
} else if (!leftMovement && leftFacing){
image(reverseRun[z], x ,300);
z = 0;}
if(rightMovement){
fill(255,0,0);//red
ellipse(600, 200, 50, 50);}else if (leftMovement){ fill(0,255,0);ellipse(600, 200, 50, 50);}
//--------------------------------------
//window loop-----------
if(x > width+10){
x = 0;
}else if (x < - 10){
x = width;
}
//-----------------------
//motion loop---------------
if (i >= zeroArray.length){
i = 3;
}
if ( z >= reverseRun.length){
z = 3;
}
}
//----------------------------
//Code and image editing by Diego.
void keyPressed() {
setMove(keyCode, true);
if (isLeft ){
x -= speed;
}
if(isRight){
x += speed;
}
}
void keyReleased() {
setMove(keyCode, false);
}
boolean setMove(int k, boolean b) {
switch (k) {
case UP:
return isUp = b;
case DOWN:
return isDown = b;
case LEFT:
return isLeft = b;
case RIGHT:
return isRight = b;
default:
return b; }
}