2020年6月18日 星期四

奪命連環Code

今天我們要學幾個好玩的小遊戲
首先我們做個背景
void setup(){
  size(300,300);
}
void draw(){
    background(#002966);
    fill(#b7efff);
    noStroke();
    ellipse(100,150,13,13);
    ellipse(200,150,13,13);
}
讓它可以跟著滑鼠動
float x=200,y=150;
void setup(){
  size(300,300);
}
void draw(){
    background(#002966);
    stroke(#b7efff);
    line(100,150,x,y);
    fill(#b7efff);
    noStroke();
    ellipse(100,150,13,13);
    ellipse(200,150,13,13);
}
void mouseDragged(){
     x=mouseX;
     y=mouseY;
}
變成固定的長度
float x=200,y=150;
void setup(){
  size(300,300);
}
void draw(){
    background(#002966);
    stroke(#b7efff);
    line(100,150,x,y);
    fill(#b7efff);
    noStroke();
    ellipse(100,150,13,13);
    ellipse(200,150,13,13);
    if(!mousePressed){
       float dx=x-100,dy=y-150;
       float len=sqrt(dx*dx+dy*dy);
       x-=dx*(len-100)/len;
       y-=dy*(len-100)/len;
    }
}
void mouseDragged(){
     x=mouseX;
     y=mouseY;
}

移動使用虎克公式
float x=200,y=150,vx=0,vy=0;
void setup(){
  size(300,300);
}
void draw(){
    background(#002966);
    stroke(#b7efff);
    line(100,150,x,y);
    fill(#b7efff);
    noStroke();
    ellipse(100,150,13,13);
    ellipse(x,y,13,13);
    if(!mousePressed){
       float dx=x-100,dy=y-150;
       float len=sqrt(dx*dx+dy*dy);
       vx-=dx*(len-100)/len*0.001;
       vy-=dy*(len-100)/len*0.001;
       x+=vx;
       y+=vy;
    }
}
void mouseDragged(){
     x=mouseX;
     y=mouseY;
}

類似養魚程式

float x=200,y=150;
void setup(){
  size(400,300);
}
void draw(){
    background(#002966);
 
    fill(255);
    rect(x,y,80,20);
    if(!mousePressed){
       float dx=x-mouseX,dy=y-mouseY;
       float len=sqrt(dx*dx+dy*dy);
     
       x-=dx*0.1;
       y-=dy*0.1;
    }
}

沒有留言:

張貼留言