匯入兩張png圖檔
PImage img0,img1;void setup(){
size(800,600);
img0 = loadImage("Mario.png");
img1 = loadImage("Mario1.png");
}
void draw(){
background(255);
image(img1,400,300,100,100); //前面兩碼調座標,後面兩碼調大小
image(img0,mouseX,mouseY,100,100); //座標跟著滑鼠移動
}
把跟著滑鼠移動改成用拖曳的方法移動
PImage img0,img1;
void setup(){
size(800,600);
img0 = loadImage("Mario.png");
img1 = loadImage("Mario1.png");
}
float marx=400, mary=300;
void draw(){
background(255);
image(img1,400,300,100,100);
image(img0,marx,mary,100,100);
}
void mouseDragged()
{
marx=mouseX; mary=mouseY;
}
加上速度,放開滑鼠可讓圖移動
PImage img0,img1;void setup(){
size(800,600);
img0 = loadImage("Mario.png");
img1 = loadImage("Mario1.png");
}
float marx=400, mary=300;
float marvx=0, marvy=0;
void draw(){
background(255);
image(img1,400,300,100,100);
image(img0,marx,mary,100,100);
marx +=marvx; //移動位置
mary +=marvy; //移動位置
}
void mouseDragged()
{
marx=mouseX; mary=mouseY;
}
void mouseReleased() //放開滑鼠
{
marvx = (400-mouseX)/100.0; //移動速度 重量
marvy = (400-mouseY)/100.0; //移動速度 重量
}
加上imageMode(CENTER);可讓滑鼠移動時在物件中心
加上加速度
PImage img0,img1;void setup(){
size(800,600);
img0 = loadImage("Mario.png");
img1 = loadImage("Mario1.png");
imageMode(CENTER);
}
float marx=400, mary=300;
float marvx=0, marvy=0;
float marax=0, maray=0;
void draw(){
background(255);
image(img1,400,300,100,100);
image(img0,marx,mary,100,100);
line(marx,mary,400,300);
marx +=marvx;
mary +=marvy;
marvx +=marax; //加速度
marvy += marax; //加速度
}
void mouseDragged()
{
marx=mouseX; mary=mouseY;
marvx=marvy=marax=maray=0; //先歸0
}
void mouseReleased()
{
marvx = (400-mouseX)/10.0;
marvy = (400-mouseY)/10.0;
maray= 0.98;
}
如果馬力歐碰到烏龜烏龜會消失
PImage img0,img1;void setup(){
size(800,600);
img0 = loadImage("Mario.png");
img1 = loadImage("Mario1.png");
imageMode(CENTER);
}
float marx=400, mary=300;
float marvx=0, marvy=0;
float marax=0, maray=0;
float mar1x=700,mar1y=100; //幫烏龜設一個位置
boolean img1Alive=true; // 決定烏龜存在或消失
void draw(){
background(255);
if (img1Alive) image(img1,mar1x,mar1y,100,100); // 如果存在 烏龜位置
image(img0,marx,mary,100,100);
if (dist(mar1x,mar1y,marx,mary)<100) // 馬力歐碰到烏龜的區域
{
img1Alive=false; //碰到的話烏龜消失
}
marx +=marvx;
mary +=marvy;
marvx +=marax;
marvy += maray;
}
void mouseDragged()
{
marx=mouseX; mary=mouseY;
marvx=marvy=marax=maray=0;
}
void mouseReleased()
{
marvx = (400-mouseX)/10.0;
marvy = (400-mouseY)/30.0;
maray= 0.98;
}
讓瑪麗歐碰到邊界會反彈不會掉下去
PImage img0,img1;
void setup(){
size(800,600);
img0 = loadImage("Mario.png");
img1 = loadImage("Mario1.png");
imageMode(CENTER);
}
float marx=400, mary=300;
float marvx=0, marvy=0;
float marax=0, maray=0;
float mar1x=700,mar1y=100;
boolean img1Alive=true;
void draw(){
background(255);
if (img1Alive) image(img1,mar1x,mar1y,100,100);
image(img0,marx,mary,100,100);
if (dist(mar1x,mar1y,marx,mary)<100)
{
img1Alive=false;
}
marx +=marvx;
mary +=marvy;
if(marx<50){marx=50;marvx=-marvx;} //左右邊如果碰到邊界 速度=-速度(反彈)
if(marx>width-50){marx=width-50;marvx=-marvx;}
if(mary<50){mary=50;marvy=-marvy;} //上下邊界如果碰到邊界 速度=-速度(反彈)
if(mary>height-50){mary=height-50;marvy=-marvy;}
marvx += marax;
marvy += maray;
marvx *=0.995; //摩擦力
marvy *=0.995; //摩擦力
}
void mouseDragged()
{
marx=mouseX; mary=mouseY;
marvx=marvy=marax=maray=0;
}
void mouseReleased()
{
marvx = (400-mouseX)/10.0;
marvy = (400-mouseY)/10.0;
maray= 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; //用滑鼠移動
}
沒有留言:
張貼留言