拖曳滑鼠使產生慣性
程式碼:
void setup(){
size(800,600); //視窗初始化大小
}
float HookX=400,HookY=300;
float HookVX=0,HookVY=0;
void draw(){
background(255); //背景顏色(數值)
ellipse(HookX,HookY, 50,50); //畫一個圓(大小半徑為50) line(HookX,HookY,400,300); //畫一條線
HookX+=HookVX;
HookY+=HookVY;
}
void mouseDragged(){ //滑鼠拖曳
HookX=mouseX;
HookY=mouseY;
}
void mouseReleased(){ //滑鼠釋放
HookVX=(400-mouseX)/100.0; HookVY=(300-mouseY)/100.0; }拖曳滑鼠射擊讓泳圈消失
程式碼:
PImage imgHook,imgLove;
void setup(){
size(800,600);
imgHook=loadImage("Hook.jpg");
imgLove=loadImage("Love.jpg");
imageMode(CENTER);
}
float HookX=400,HookY=300;
float HookVX=0,HookVY=0;
float HookAX=0,HookAY=0;
float LoveX=700,LoveY=100;
boolean LoveAlive=true;
void draw(){
background(255);
if(LoveAlive)image(imgLove,LoveX,LoveY,100,100);
image(imgHook,HookX,HookY,100,100);
if(dist(LoveX,LoveY,HookX,HookY)<100){
LoveAlive=false;
}
line(HookX,HookY,400,300);
HookX+=HookVX;
HookY+=HookVY;
HookVX+=HookAX;
HookVY+=HookAY;
}
void mouseDragged(){
HookX=mouseX;
HookY=mouseY;
HookVX=HookVY=HookAX=HookAY=0;
}
void mouseReleased(){
HookVX=(400-mouseX)/10.0;
HookVY=(300-mouseY)/10.0;
HookAY=0.98;
}
接著設定邊界,讓魚不會彈出視窗外
程式碼:
PImage imgHook,imgLove;
void setup(){
size(800,600);
imgHook=loadImage("Hook.jpg");
imgLove=loadImage("Love.jpg");
imageMode(CENTER);
}
float HookX=400,HookY=300;
float HookVX=0,HookVY=0;
float HookAX=0,HookAY=0;
float LoveX=700,LoveY=100;
boolean LoveAlive=true;
void draw(){
background(255);
if(LoveAlive)image(imgLove,LoveX,LoveY,100,100);
image(imgHook,HookX,HookY,100,100);
if(dist(LoveX,LoveY,HookX,HookY)<100){
LoveAlive=false;
}
line(HookX,HookY,400,300);
HookX+=HookVX;
HookY+=HookVY;
if(HookX<50){HookX=50;HookVX=-HookVX;}
if(HookX>width-50){HookX=width-50;HookVX=-HookVX;}
if(HookY<50){HookY=50;HookVY=-HookVY;}
if(HookY>height-50){HookY=height-50;HookVY=-HookVY;}
HookVX+=HookAX;
HookVY+=HookAY;
HookVX*=0.997;
HookVY*=0.997;
}
void mouseDragged(){
HookX=mouseX;
HookY=mouseY;
HookVX=HookVY=HookAX=HookAY=0;
}
void mouseReleased(){
HookVX=(400-mouseX)/10.0;
HookVY=(300-mouseY)/10.0;
HookAY=0.98;
}
小朋友下樓梯概念
程式碼
void setup(){
size(600,500);
}
int boardX=227,boardY=400;
int kidX=300,kidY=250;
void draw(){
background(0);
rect(boardX,boardY,200,50);
rect(kidX,kidY,50,50);
if(kidX>boardX-50&&kidX<boardX+200&&kidY>boardY-50){
}
else kidY++;
kidX=mouseX;
}
沒有留言:
張貼留言