int volumeposX = 110 ,volumeposY = 110;
int volumeWidth = 180 ,volumeHeight = 380;
int batteryposX = 100 ,batteryposY = 100;
int batt_usage;
int batt_charge;
int posY_change;
int volumeColor = #008B00;
int update = 0;
void setup(){
size(400,600);
}
void draw(){
frameRate(50);
background(0);
battery(batteryposX,batteryposY,200,400,60,20);
positive(batteryposX/2,batteryposY-20);
negative(batteryposX/2,batteryposY+420);
volumeHeight = volumeHeight - batt_usage + batt_charge;
volumeposY = volumeposY + posY_change;
if((volumeHeight == 0 && volumeposY == 490) || (volumeHeight == 380 && volumeposY == 110)){
batt_usage = 0;
batt_charge = 0;
posY_change = 0;
}
int percentage = battPercent(volumeHeight);
if(percentage <= 40){
volumeColor = #FFCC00;
}
if(percentage <= 20){
volumeColor = #FF0000;
}
if(percentage >= 40){
volumeColor = #008B00;
}
}
void mouseClicked() {
if(volumeHeight <= 380 && volumeposY >= 110 && update == 0) {
batt_usage = 2;
batt_charge = 0;
posY_change = 2;
update = 1;
}
else if(volumeHeight >= 0 && volumeposY <= 490 && update == 1) {
batt_usage = 0;
batt_charge = 2;
posY_change = -2;
update = 0;
}
}
void battery(int batteryposX,int batteryposY,int batteryWidth,int batteryHeight,int poleWidth,int poleHeight){
/////BATTERY BODY/////
noFill();
stroke(#FFFFFF);
strokeWeight(5);
rect(batteryposX,batteryposY,batteryWidth,batteryHeight);
fill(255);
rect((batteryposX+(batteryWidth/2))-(poleWidth/2),batteryposY-poleHeight,poleWidth,poleHeight);
/////VOLUME/////
strokeWeight(2);
fill(volumeColor);
rect(volumeposX,volumeposY,volumeWidth,volumeHeight);
}
void positive(int positiveposX,int positiveposY){
fill(#FF0000);
textAlign(CENTER);
text("+",positiveposX,positiveposY);
}
void negative(int negativeposX,int negativeposY){
fill(#FF0000);
textAlign(CENTER);
text("-",negativeposX,negativeposY);
}
int battPercent(int volumeHeight){
int batt_percent = 100;
batt_percent = (volumeHeight*100)/380;
textAlign(CENTER);
textSize(40);
fill(#FFFFFF);
text((int)(batt_percent)+"%",batteryposX+100,batteryposY+200);
return batt_percent;
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น