2019年10月3日 星期四

week04























把26個字母照順序按下去就跑出一個框框





















寫出一個dvd的動畫
程式碼
int ballX=300,ballY=300;  ///球的位子
int vx=-2,vy=-1;                 移動初速
void setup(){
  size(700,400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);       畫一個圓
  ballX+=vx;            給球加速度
  ballY+=vy;

  if(ballX<0) vx =+2;   邊界偵測
  if(ballX>700) vx =-2;

  if(ballY<0) vy =+2;
  if(ballY>400) vy =-2;

}


















彈跳球



















增加他的摩擦力讓他碰掉邊界時會減慢


















會跳的馬力歐
程式碼
PImage imgma;
float maX=100,maY=100;
float maVX=0,maVY=0;
void setup(){
  size(500,500);
  imgma=loadImage("ma1.png");
}
void draw(){
  background(255);
  rect(0,200,500,50);
  image(imgma,maX,maY,100,100);
  maX+= maVX;
  maY+= maVY;
  if(maY<=100)maVY+=0.9;
  else maY=100;
}
void keyPressed(){
  if(keyCode==RIGHT) maX+=3;
  if(keyCode==LEFT) maX-=3;
  if(keyCode==UP){
    maVY =-15;
  }
}



讓他左右移動有煞車 不會鈍鈍的
PImage imgma;
float maX=100,maY=100;
float maVX=0,maVY=0;
void setup(){
  size(500,500);
  imgma=loadImage("ma1.png");
}
void draw(){
  background(255);
  rect(0,200,500,50);
  image(imgma,maX,maY,100,100);
  maX+= maVX;
  maY+= maVY;
  if(softbrake==1)maVX*=0.9;  摩擦力
  if(maY<=100)maVY+=0.9;
  else maY=100;
}
int softbrake=0;
void keyReleased(){
  if(keyCode==RIGHT) softbrake=1;  啟動剎車
  if(keyCode==LEFT) softbrake=1;
}
void keyPressed(){
  if(keyCode==RIGHT) {
    maVX=3;
    softbrake=0;
  }
  if(keyCode==LEFT) {
    maVX=-3;
    softbrake=0;
  }
  if(keyCode==UP){
    maVY =-15;
  }
}



沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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