-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMenuButton.pde
More file actions
116 lines (97 loc) · 2.61 KB
/
MenuButton.pde
File metadata and controls
116 lines (97 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
class MenuButton {
//_________________________________________________ variables
float posX, posY;
float x, y;
int wScale, hScale;
String text;
boolean mouseInside;
boolean mouseClicked, mouseIsPressed;
PImage buttonImg, buttonPressedImg;
color colour;
boolean mouseHasReleased;
//_________________________________________________ constructor
MenuButton (float x, float y, float w, float h, String t) {
wScale = round(w);
hScale = round(h);
posX = x;
posY = y;
text = t;
buttonImg = loadImage("menu/Button.png");
buttonImg.resize(wScale, hScale);
buttonPressedImg = loadImage("menu/ButtonPressed.png");
buttonPressedImg.resize(wScale, hScale);
}
MenuButton (float x, float y, float w, float h, PImage img) {
posX = x;
posY = y;
this.x = x;
this.y = y;
wScale = round(w);
hScale = round(h);
text = " ";
buttonImg = img;
buttonImg.resize(wScale, hScale);
buttonPressedImg = img;
buttonPressedImg.resize(wScale, hScale);
colour = color(255, 255, 255);
}
//_________________________________________________ functionality
void draws() {
mouseHasReleased = mouseReleased;
//colour = color(255, 255, 255);
if (mouseX >= x - wScale/2 && mouseX <= x - wScale/2 + wScale && mouseY >= y - hScale/2 && mouseY <= y + hScale/2)
mouseInside = true;
else
mouseInside = false;
if (mouseInside) {
noStroke();
fill(colour, 100);
image(buttonPressedImg, posX, posY);
rectMode(CENTER);
rect(posX, posY, wScale, hScale);
rectMode(CORNER);
fill(255);
textSize(50);
textAlign(CENTER, CENTER);
text(text, posX + wScale/2, posY + hScale/2);
} else {
image(buttonImg, posX, posY);
fill(0);
textSize(50);
textAlign(CENTER, CENTER);
text(text, posX + wScale/2, posY + hScale/2);
}
}
//_________________________________________________ get functions
void setHighlight(color colour) {
this.colour = colour;
}
boolean getIsPressed() {
if (mouseInside && mousePressed && mouseReleased) {
this.mouseIsPressed = true;
return mouseIsPressed;
} else {
this.mouseIsPressed = false;
return mouseIsPressed;
}
}
boolean getIsReleased() {
if (mouseInside && mouseReleased) {
return true;
} else {
return false;
}
}
void setPressed(boolean b) {
this.mouseIsPressed = b;
}
void setClicked(boolean b) {
if (mouseInside)
this.mouseClicked = b;
}
boolean getIsClicked() {
if (mouseInside && mouseClicked)
return true;
return false;
}
}