2019年10月3日 星期四

Week04

第四堂課

Processing程式操作一(球體運動-左右行走)

程式

int ballX=300, ballY=300;
int vx = +2, vy =-10;
void setup(){
  size(600,500);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);
  ballX +=vx;
  if(ballX<0+15)     vx = -2;

  if(ballX>600-15)   vx = -2;
}

結果

Processing程式操作二(球體運動-上下左右)

程式

int ballX=300, ballY=300;
int vx =+2 , vy =-2;
void setup(){
  size(600,500);
}
void draw(){
  //background(255);
  ellipse(ballX,ballY,30,30);
  ballX +=vx;
  ballY +=vy;
  if(ballX<0+15)     vx = +2;
  if(ballX>600-15)   vx = -2;
  if(ballY<0+15)     vy = +2;
  if(ballY>500-15)   vy = -2;
}

結果



Processing程式操作三(球體運動-重力加速度)


程式

float ballX=300, ballY=300;
float vx = +2, vy =-10;
void setup(){
  size(600,500);
}
void draw(){
  //background(255);
  ellipse(ballX,ballY,30,30);
  ballX +=vx;
  ballY +=vy;  println(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>500-15)   vy = -vy*0.9;
}

結果

Processing程式操作四(球體運動-重力加速度二)


程式

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;//println(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;
}

結果



Processing程式操作五(馬力歐)


程式

PImage imgMario;
float marioX=100,marioY=100;
float marioVX=0,marioVY=0;
void setup(){
  size(500,500);
  imgMario = loadImage("mario.jpg");
}
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;
  }
  else if(keyCode==UP   ) {
   marioVY = -15;
  }
}

結果



沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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