2019年10月3日 星期四

鼻子要爛掉了 06160832

今天要挑戰做一個遊戲
先用一個可以打字有格子
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]);
     }
}


做一個球可以彈跳
float  ballX=100, ballY=300;
float vx = +2;
float vy =-10;
void setup(){
    size(700,400);
}
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>400-15) vy = -vy*0.9;
}
讓球有真實的牛頓力學
float  ballX=100, ballY=300;
float vx = +2;
float vy =-10;
void setup(){
    size(700,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;
}

做一個類似Mario的遊戲
PImage imgjo;
float  joX=100, joY=100;
float  joVX=0, joVY=0;
void setup(){

    size(500,500);
    imgjo=loadImage("JO.png");
}

void draw(){

    //background(255);
    rect(0,200,500,50);
    image(imgjo,joX,joY,100,100);
    joX+=joVX;
    joY+=joVY;
    if(joY<=100) joVY += 0.9;
    else joY =100;
}
void keyPressed(){
     if(keyCode==RIGHT) joX+=3;
     if(keyCode==LEFT) joX-=3;
     if(keyCode==UP){
       joVY =-15;
     }
}
    
按左就一直往左
再按右就停
按右就一直往右
再按左就停

PImage imgjo;
float  joX=100, joY=100;
float  joVX=0, joVY=0;
void setup(){

    size(500,500);
    imgjo=loadImage("JO.png");
}

void draw(){

    background(255);
    rect(0,200,500,50);
    image(imgjo,joX,joY,100,100);
    joX+=joVX;
    joY+=joVY;
    if(joY<=100) joVY += 0.9;
    else joY =100;
}
int softBrake=0;
void keyReleased(){
     if(keyCode==RIGHT) softBrake=1;
     if(keyCode==LEFT) softBrake=1;
}
void keyPressed(){
     if(keyCode==RIGHT){ joVX+=3; softBrake=0;
     }
     else if(keyCode==LEFT){ joVX-=3;  softBrake=0;
     }
     else if(keyCode==UP){
       joVY =-15;
     }
}



沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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