2019年10月3日 星期四

互動技術week04

1.寫出一個可以讓球球左右移動的程師碼:
   
程式碼:
     int ballX=300,ballY=300;
     int vx=-2;
     void setup()
     {
         size(700,400);
     }
     void draw()
     {
         background(255);
         ellipse(ballX,ballY,30,30);
         ballX+=vx;
         if(ballX<0)vx=+2;
         if(ballX>700)vx=-2;
     }


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;
}


3.寫出一個馬力歐的程式碼:
     程式碼:
      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(marioY<=100)marioVY+=0.9;
       else marioY=100;
     }
     void keyPressed(){
        if(keyCode==RIGHT) marioX+=10;
        if(keyCode==LEFT)  marioX-=10;
        if(keyCode==UP){
          marioVY=-15;
        }
     }














4.寫出一個讓馬力歐的動作順暢的程式碼:
   程式碼:
     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;
        }
        else if(keyCode==UP){
          marioVY=-15;
        }
   }















沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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