I'm having trouble loading an image. Can anyone tell me why I keep getting the NullPointerException?? Here's my code....
in
Programming Questions
•
2 years ago
Guy myGuy;
PImage img;
void setup() {
// Set the size of window
size(500, 500);
//
img = loadImage( " ben.png " );
myGuy = new Guy();
}
void draw() {
myGuy.display();
myGuy.move();
myGuy.move1();
myGuy.move2();
myGuy.move3();
myGuy.move4();
myGuy.move5();
//myGuy.move6();
myGuy.move7();
//myGuy.move8();
}
class Guy {
float r = 0;
//float b = 0;
float g = 255;
float xspeed2 = .5;
// float zoogX;
// float zoogY;
// float eyeR;
//float eyeG;
// float eyeB;
int bodyShirtX = 45;
int bodyShirtY = 115;
int eyesX = 40;
int eyesY = 15;
int eyesZ = 10;
int xspeed;
int body = 60;
int x = 0;
int y = 130;
int z = 243;
int b = 4;
int e = 80;
Guy() {
r = 0;
b = 0;
g = 0;
bodyShirtX = 45;
bodyShirtY = 115;
eyesX = 40;
eyesY = 15;
eyesZ = 10;
xspeed = 1;
body = 60;
x = 0;
y = 130;
z = 243;
b = 4;
e = 80;
}
void display() {
// Draw a white background
//shirt;
if ((bodyShirtX > 150) || (bodyShirtX > 300)) {
background(30, 200, 75);
}
else {
background(255);
}
fill(255,0,0);
image(img,0,0);
rect(bodyShirtX, bodyShirtY, 32, body);
triangle(bodyShirtX, bodyShirtY, 78, bodyShirtY, body, 97);
//face
fill(255);
ellipse(body, 50, 72, 90);
//eyes ;
fill(255);
ellipse(eyesX, eyesX, 20, 20);
ellipse(eyesX, eyesX, eyesY, eyesY);
fill(155);
ellipse(eyesX, eyesX, eyesZ, eyesZ);
fill(0);
ellipse(eyesX, eyesX, 5, 5);
fill(255);
ellipse(eyesX, eyesX, 1.5, 1.5);
//body
line(body, 97, 30, 130);
line(95, y, 60, 97);
//legs
stroke(0);
fill(0);
rect(48, 183, 12, body);
rect(65, 183, 12, body);
fill(0);
//nose
ellipse(body, body, 10, 22);
fill(255, 0, 0);
fill(0);
triangle(body, 70, 40, 80, body, 76);
triangle(63, 70, 80, 78, 62, 76);
line(48, 84, 72, 84);
triangle(body, 97, 55, 110, 65, 110);
triangle(95, y, 78, 115, 70, 130);
triangle(30, y, 51.5, 130, 45, 115);
//suit and tie
rect(70, y, 25, 50);
rect(55, 110, 10, 50);
rect(30, y, 22, 50);
rect(30, 175, 65, 10);
triangle(55, 160, 65, 160, body, 165);
//eye patch
ellipse(e, 40, 20, 20);
line(90, 40, 93, 39);
line(88, 41, 92, 36);
line(89, 40.5, 92.5, 38);
line(89, 40.8, 92.5, 37);
curve(55, 36, 32, 20, 70, 38, 30, 2);
//beltbuckle
fill(255, 255, 0);
ellipse(body, 175, 11, 11);
//boots
fill(0);
rect(49, 243, 4, b);
rect(66, 243, 4, b);
fill(255);
triangle(47.5, z, 60, z, 59, 251);
triangle(64.5, z, 77, z, 76, 251);
line(mouseX, mouseY+12, pmouseX+10, pmouseY);
x = x + xspeed;
if ((x > width/2) || (x < 0)) {
xspeed = xspeed * - 1;
}
if (x < 0) {
g = 255;
}
else if ( x > width) {
g = 255;
}
}
void move() {
eyesX = eyesX + xspeed+1/2;
if (eyesX > width) {
eyesX = 0;
}
}
void move1() {
bodyShirtX = bodyShirtX + xspeed+1;
if (bodyShirtX > width) {
bodyShirtX = 0;
}
}
void move2() {
body = body + xspeed;
if (body > width) {
body = 0;
}
}
void move3() {
eyesY = eyesY + xspeed;
if (eyesY > width) {
eyesY = 0;
}
}
void move4() {
bodyShirtY = bodyShirtY + xspeed;
if (bodyShirtY > width) {
bodyShirtY = 0;
}
}
void move5() {
y = y + xspeed;
if (y > width) {
y = 0;
}
}
void move6() {
z = z + xspeed;
if (z > width) {
z = 0;
}
}
void move7() {
b = b + xspeed;
if (z > width) {
b = 0;
}
}
void move8() {
e = e + xspeed;
if (e > width) {
e = 0;
}
}
}
1