I’ve been a Kobe fan for forever and a Lakers fan since 2012, and it’s been a hard decade for the team. hard. So, in light of the Lakers winning the 2020 NBA championship today, I wanted to do something with image manipulation that was related to the lakers.
My idea is to fill the screen with the laker logo, and every time I draw on the screen via my mouse, another image would appear with tints and effects. This way I can draw stuff like “2020 champs” etc etc.
I do feel kind of weird about the project, I felt like to do what I was doing, there were more object-oriented programming than image manipulation. Perhaps next time it might be better to focus on one image and changing its properties than to change a whole bunch of images.
PImage img, lebron;
float unit = 30; //unit of each picture
int count; //how many pictures are there in a certain sized frame
Ring[] ring;
void setup(){
size(1500, 900);
img = loadImage("lakers.png");
lebron = loadImage("lebron.png");
int wideCount = width / int(unit);
int highCount = height / int(unit);
count = wideCount * highCount;
//calling an array of image objects with the width and height counts
ring = new Ring[count];
int index = 0;
for (int y = 0; y < highCount; y++) {
for (int x = 0; x < wideCount; x++) {
ring[index++] = new Ring(x * unit, y * unit, width/unit, width/unit);
}
}
}
void draw(){
//running the functions for every image
for (Ring ring : ring) {
ring.display();
ring.update();
}
}
class Ring {
float x;
float y;
float w;
float h;
//for images that have been hovered over
boolean changed = false;
Ring(float tempX, float tempY, float tempW, float tempH) {
x = tempX;
y = tempY;
w = tempW;
h = tempH;
}
void display() {
//original image
if (changed == false){
noTint();
image(img, x , y, w, h);
}
//changed images
if (changed == true){
tint(165, 111, 124, 50);
image(lebron, x, y, w, h);
}
}
void update() {
//checking if an image is clicked on
if (mousePressed){
if (x < mouseX && mouseX < x+unit && mouseY > y && mouseY < y + unit){
changed = true;
}
}
}
}