2019年10月3日 星期四

week04_早八上課

會動的球
int ballX = 300, ballY = 300;
float vx = random(3,10);
float vy = random(3,10);
void setup(){
  size(700,400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);
  ballX +=vx;
  ballY +=vy;
  if(ballX < 0+15) vx = random(3,10);
  if(ballX > 700-15) vx = -random(3,10);
  if(ballY < 0+15) vy = random(3,10);
  if(ballY > 400-15) vy = -random(3,10);
}

有重力摩擦的球
float ballX = 100, ballY = 200;
float vx = 2;
float vy = -10;
void setup(){
  size(700,400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);
  ballX +=vx;
  ballY +=vy;
  if(ballX < 0+15 || ballX > 700-15) vx = -vx*0.9;
  if(ballY < 0+15 || ballY > 400-15) {
    vy = -vy*0.9 ;
    if(ballY > 400-15){
      ballY = 400 - 15;
      vx *= 0.9;
    }
  }
  vy += 0.98;
}

放圖跑動
PImage imgpp;
float ppX = 100, ppY = 100;
float ppVX = 0, ppVY = 0;
void setup(){
  size(500,500);
  imgpp = loadImage("pp1.jpg");
}
void draw(){
  background(255);
  
  image(imgpp,ppX,ppY,150,150);
  rect(0,190,500,50);
  ppX += ppVX;
  if(ppY<=100) ppVY +=0.9;
  ppY += ppVY;
  else ppY = 100;
  
}
void keyPressed(){
  if(keyCode == RIGHT) ppX += 3;
  if(keyCode == LEFT) ppX -= 3;
  if(keyCode == UP) ppY -= 60;
}

可以煞車了

PImage imgpp;
float ppX = 100, ppY = 100;
float ppVX = 0, ppVY = 0;
boolean brake = false;
void setup(){
  size(500,500);
  imgpp = loadImage("pp1.jpg");
}
void draw(){
  background(255);
  image(imgpp,ppX,ppY,150,150);
  rect(0,190,500,50);
  ppX += ppVX;
  ppY += ppVY;
  if(ppVX != 0 && brake == true) ppVX *=0.9;
  if(ppY<=100) ppVY +=0.5;
  else ppY = 100;
}
void keyReleased(){
  if(keyCode == RIGHT || keyCode == LEFT) brake = true;
}
void keyPressed(){
  if(keyCode == RIGHT) {
    ppVX = 3;
    brake = false;
  }
  else if(keyCode == LEFT) {
    ppVX = -3;
    brake = false;
  }
  else if(keyCode == UP) ppY -= 60;
}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...