-------------------------------------------------------------------------------------------------------------------------
◎跟著滑鼠游標移動
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(500,500);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
}
void draw(){
background(180,217,254);
image(imgEgg,500,500);
image(imgRyan,mouseX,mouseY);
}
◎按壓後隨滑鼠拖曳
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(800,800);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
}
float eggX=400,eggY=400;
void draw(){
background(180,217,254);
image(imgRyan,200,200);
image(imgEgg,eggX,eggY);
}
void mouseDragged(){
eggX=mouseX;
eggY=mouseY;
}
◎發射(彈弓)
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(800,800);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
}
float eggX=400,eggY=400;
float eggVX=0,eggVY=0;
void draw(){
background(180,217,254);
ellipse(eggX,eggY,100,100);
line(eggX,eggY,400,400);
eggX+=eggVX;
eggY+=eggVY;
//image(imgRyan,200,200);
//image(imgEgg,eggX,eggY);
}
void mouseDragged(){
eggX=mouseX;
eggY=mouseY;
}
void mouseReleased(){
eggVX=(400-mouseX)/100.0;
eggVY=(400-mouseY)/100.0;
}
◎發射(彈弓)
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(800,800);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
imageMode(CENTER); ///以圖片中點為起點
}
float eggX=400,eggY=400;
float eggVX=0,eggVY=0;
void draw(){
background(180,217,254);
line(eggX,eggY,400,400);
image(imgEgg,eggX,eggY,100,100);///img,x,y,width,height
//ellipse(eggX,eggY,100,100);
eggX+=eggVX;
eggY+=eggVY;
//image(imgRyan,200,200);
//image(imgEgg,eggX,eggY);
}
void mouseDragged(){
eggX=mouseX;
eggY=mouseY;
}
void mouseReleased(){
eggVX=(400-mouseX)/100.0;
eggVY=(400-mouseY)/100.0;
}
◎發射(牛頓第一運動定律)
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(800,800);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
imageMode(CENTER);
}
float eggX=400,eggY=400;
float eggVX=0,eggVY=0;
float eggAX=0,eggAY=0;
void draw(){
background(180,217,254);
line(eggX,eggY,400,400);
image(imgEgg,eggX,eggY,100,100);///img,x,y,width,height
//ellipse(eggX,eggY,100,100);
eggX+=eggVX;
eggY+=eggVY;
eggVX+=eggAX;
eggVY+=eggAY;
//image(imgRyan,200,200);
//image(imgEgg,eggX,eggY);
}
void mouseDragged(){
eggX=mouseX;
eggY=mouseY;
eggVX=eggVY=eggAX=eggAY=0;
}
void mouseReleased(){
eggVX=(400-mouseX)/10.0;
eggVY=(400-mouseY)/10.0;
eggAY=0.98;
}
◎發射(kill目標)
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(800,800);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
imageMode(CENTER);
}
float eggX=400,eggY=400;
float eggVX=0,eggVY=0;
float eggAX=0,eggAY=0;
float ryanX=700,ryanY=200; ///Ryan在視窗的位置
Boolean ryanAlive=true;
void draw(){
background(180,217,254);
if(ryanAlive)image(imgRyan,ryanX,ryanY,150,250);
line(eggX,eggY,400,400);
image(imgEgg,eggX,eggY,100,100);///img,x,y,width,height
if(dist(ryanX,ryanY,eggX,eggY)<100){ ///判斷有沒有殺掉Ryan
ryanAlive=false;
}
//ellipse(eggX,eggY,100,100);
eggX+=eggVX;
eggY+=eggVY;
eggVX+=eggAX;
eggVY+=eggAY;
//image(imgRyan,200,200);
//image(imgEgg,eggX,eggY);
}
void mouseDragged(){
eggX=mouseX;
eggY=mouseY;
eggVX=eggVY=eggAX=eggAY=0;
}
void mouseReleased(){
eggVX=(400-mouseX)/10.0;
eggVY=(400-mouseY)/10.0;
eggAY=0.98;
}
◎建立城牆(蛋不會跑到視窗外)
程式碼:
PImage imgEgg,imgRyan;
void setup(){
size(800,800);
imgEgg=loadImage("gg2.png");
imgRyan=loadImage("ryan1.png");
imageMode(CENTER);
}
float eggX=400,eggY=400;
float eggVX=0,eggVY=0;
float eggAX=0,eggAY=0;
float ryanX=700,ryanY=200;
Boolean ryanAlive=true;
void draw(){
background(180,217,254);
if(ryanAlive)image(imgRyan,ryanX,ryanY,150,250);
line(eggX,eggY,400,400);
image(imgEgg,eggX,eggY,100,100);///x,y,w,h
if(dist(ryanX,ryanY,eggX,eggY)<100){
ryanAlive=false;
}
eggX+=eggVX;
eggY+=eggVY;
if(eggX<50){eggX=50;eggVX=-eggVX;} ///城牆
if(eggX>width-50){eggX=width-50;eggVX=-eggVX;}
if(eggY<50){eggY=50;eggVY=-eggVY;}
if(eggY>width-50){eggY=width-50;eggVY=-eggVY;}
eggVX+=eggAX;
eggVY+=eggAY;
eggVX*=0.997; ///速度越來越慢
eggVY*=0.997;
//image(imgRyan,200,200);
//image(imgEgg,eggX,eggY);
}
void mouseDragged(){
eggX=mouseX;
eggY=mouseY;
eggVX=eggVY=eggAX=eggAY=0;
}
void mouseReleased(){
eggVX=(400-mouseX)/10.0;
eggVY=(400-mouseY)/10.0;
eggAY=0.98;
}
◎小朋友下樓梯 Part.1
程式碼:
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){
//touch tje board
}else kidY++; //if kid dosen't touch the board
kidX=mouseX;
}
沒有留言:
張貼留言