2019年10月3日 星期四

互動技術week04_ballJumpRunStop_mario

求給予方向
到邊界反彈
y方向萬有引力
x方向摩擦力


float ballX=100, ballY=300;
float vx = +8, vy = -8;

void setup(){
  size(600,400);
}
void draw(){
  //background(255);
  ellipse(ballX, ballY, 30, 30);
  ballX += vx ;
  ballY += vy ;

  if (ballX<0+15)   vx = -vx*0.9;
  if (ballX>600-15) vx = -vx*0.9;
  if (ballY<0+15)   vy = -vy*0.9;
  if (ballY>400-15) {
    vy = -vy*0.9;
    vx = vx*0.9;
    ballY=400-15;
  }
  vy += 0.98;
}

02    瑪莉喔,跳,落下,平滑移動,柔順停止


PImage imgMario;
float marioX=100, marioY=100;
float marioVX=0, marioVY=0;
void setup(){
  size(500,500);
  imgMario = loadImage("mario.png");
}
void draw(){
  background(255);
  rect(0,200,500,50);
  image(imgMario, marioX,marioY,100,100);
  marioX += marioVX;
  marioY += marioVY;
  if(softBrake==1) marioVX *= 0.9; 
  if(marioY<=100) marioVY += 0.9;
  else marioY = 100;
}
int softBrake=0;
void keyReleased(){
  if(keyCode==RIGHT) softBrake=1;
  if(keyCode==LEFT) softBrake=1;
}  
void keyPressed(){
  if(keyCode==RIGHT) {
    marioVX=3;
    softBrake=0;
  }
  else if(keyCode==LEFT) {
    marioVX=-3;
    softBrake=0;
  }if(keyCode==UP) {
    marioVY = -15;
  }
}  

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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