2019年10月2日 星期三

Week04_彈跳

0.鍵盤

int [] table = new int [26*2];
void setup(){size(700,400);}
void draw(){
  background(255);
  for(int i=0;i<26;i++){
    if(table[i]==1) rect(i*30,100, 30,30);
    if(table[i+26]==1) rect(i*30,150, 30,30);
  }
}
void keyPressed(){
  for(int i=0;i<26;i++){
    if(key=='A'+i) table[i]=1;
    if(key=='a'+i) table[i+26]=1;
    print(table[i]);
    print(table[i+26]);
  }
}
int [] table = new int [26*2];
int [] keyX ={30,175,115};
int [] keyY ={60,90,90};
void setup(){size(700,400);}
void draw(){
  background(255);
  for(int i=0;i<26;i++){
    if(table[i]==1) rect(keyX[i],keyY[i], 30,30);
    if(table[i+26]==1) rect(keyX[i],keyY[i], 30,30);
  }
}
void keyPressed(){
  for(int i=0;i<26;i++){
    if(key=='A'+i) table[i]=1;
    if(key=='a'+i) table[i]=1;
  }
}

1.彈跳

int ballX=300, ballY=300;
int vX = 2, vY = 2;
void setup(){
  size(700,400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY ,40,40);
  ballX += vX; ballY += vY;
  
  if(ballX<0 || ballX>700)  vX *= -1;
  if(ballY<0 || ballY>400)  vY *= -1;
}
float ballX=50, ballY=300;
float vX = 2, vY = -10;
void setup(){
  size(700,400);
}
void draw(){
  //background(255);
  ellipse(ballX,ballY ,40,40);
  ballX += vX; ballY += vY;
  vY += 0.98;
  
  if(ballX<0+20 || ballX>700-20)  vX = -vX;
  if(ballY<0+20 || ballY>400-20)  vY = -vY*0.9;
}
float ballX=50, ballY=300;
float vX = 2, vY = -10;
void setup(){
  size(700,400);
}
void draw(){
  //background(255);
  ellipse(ballX,ballY ,40,40);
  ballX += vX; ballY += vY;
  
  if(ballX<0+20 || ballX>700-20)  vX = -vX;
  if(ballY<0+20 || ballY>400-20){
    vY = -vY*0.9;
    vX = vX*0.9;
    ballY=400-20;
  }
  vY += 0.98;
}

2.

PImage imario;
float marioX=100, marioY=100;
float vX = 0, vY = 0;
void setup(){
  size(500,500);
  imario=loadImage("Mario.png");
}
void draw(){
  background(255);
  rect(0,200, 500,30);
  image(imario,marioX,marioY, 100,100);
  marioX += vX; marioY += vY;
  if(marioY<=110) vY +=0.9;
  else marioY=110;
  if(vX>0 || vX<0) vX *= 0.98;
}
void keyPressed(){
  if(keyCode==RIGHT){
    marioX += 4;
    vX=2;
  }
  if(keyCode==LEFT){
    marioX -= 4;
    vX=-2;
  }
  if(keyCode==UP){vY = -16;}
}

PImage imario;
float marioX=100, marioY=100;
float vX = 0, vY = 0;
void setup(){
  size(500,500);
  imario=loadImage("Mario.png");
}
void draw(){
  background(255);
  rect(0,200, 300,30);
  image(imario,marioX,marioY, 100,100);
  marioX += vX; marioY += vY;
  if(brake==1) vX *= 0.9;
  if(marioY<=110) vY +=0.9;
  else marioY=110;
}
int brake=0;
void keyReleased(){
  if(keyCode==RIGHT) brake=1;
  if(keyCode==LEFT) brake=1;
}
void keyPressed(){
  if(keyCode==RIGHT){
    vX = 4;
    brake=0;
  }else if(keyCode==LEFT){
    vX = -4;
    brake=0;
  }else if(keyCode==UP){
    vY = -16;
  }
}







沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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