2019年10月3日 星期四

金魚腦互動技術

2019互動技術W4

做一顆球 一直反彈

int ballX=300, ballY=300;
int vx = -2;
void setup() {
  size(700, 400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);
  ballX+=vx;VX加速度
  if(ballX<0)vx=+2;
  if(ballX>700)vx=-2;
}











牛頓第二運動定律

float ballX=100, ballY=300;
float vx = +2,vy=-10;
void setup() {
  size(600, 400);
}
void draw(){
  //background(255);
  ellipse(ballX,ballY,30,30);
  ballX+=vx;
  ballY+=vy;
  vy+=0.98;模擬重力
  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;
}











彈跳有摩擦力

float ballX=100, ballY=300;
float vx = +2, vy=-10;
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;
}











馬力歐前後走路+彈跳

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, 185, 500, 50);地板
  image(imgMario, marioX, marioY, 100, 100);
  marioX+=marioVX;
  marioY+=marioVY;
  if (marioY<=100)marioVY+=0.9;跳起來的時候Y小於100就加重力0.9
  else marioY=100;其餘維持在地上
}
void keyPressed() {用鍵盤控制
  if (keyCode==RIGHT)marioX+=3;
  if (keyCode==LEFT)marioX-=3;
  if (keyCode==UP) {
    marioVY=-15;
  }
}











馬力歐自然的向前走 有慣性

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, 185, 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;
  } else if (keyCode==UP) {
    marioVY=-15;
  }
}





沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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