2015年10月12日 星期一

02160270_周冠羽(Takashi),Week05

1.3D跑起來
2.用小電腦晶片控制硬體設備


第一階段:載入OBJLoader --->開範例檔來看效果
























為可將3D Model 的obj 載入Processing的lab

按不同按鈕看效果

















































======================================================

自己照著範例練習寫看看
part1.
























import saito.objloader.*;

OBJModel model ;

void setup(){
  size(800,600,P3D);
  model = new OBJModel(this,"dma.obj","absolute",TRIANGLES);


  model.scale(20);
  model.translateToCenter();
}

void draw()
{
  translate(width/2,height/2);
  model.draw();
}

==============================================================
part2.

























PImage imgDino;



void setup(){
  size(800,600);
  imgDino = loadImage("dino.png");
}
float dinoX = 400 , dinoY = 0, dinoVY = 0;

void draw()
{
  background(255);
  image(imgDino,dinoX,dinoY,100,100);
//dinoY++;
  dinoY += dinoVY ;
  dinoVY += 0.98 ;
}

void mousePressed(){
  dinoVY = -25 ;
}

=================================================================
part3.

-----------------------------------------------------------------------------------------
能卡在地板並藉由滑鼠左右走動


PImage imgDino;


void setup(){
  size(800,600);
  imgDino = loadImage("dino.png");
}
float dinoX = 400 , dinoY = 0, dinoVY = 0;

void draw()
{
  background(255);
  image(imgDino,dinoX,dinoY,100,100);
//dinoY++;
  dinoY += dinoVY ;

//卡在地板
  if(dinoY < 450)
    dinoVY += 0.98 ;
   else
     dinoVY =0;
}

void mousePressed(){
  dinoVY = -25 ;
}
//可藉由滑鼠左右走動
void mouseMoved(){
  dinoX = mouseX;
}


---------------------------------------------------------------------------------------

隨機產生十方框(白色的)





















PImage imgDino;

PVector [] board = new PVector[10];

void setup(){
  size(800,600);
  imgDino = loadImage("dino.png");

  for(int i=0;i<10;i++){
    board[i] = new PVector(random(800),i*60);
  }
}



float dinoX = 400 , dinoY = 0, dinoVY = 0;

void draw()
{
  background(255);
  for(int i = 0;i<10;i++){
    rect(board[i].x,board[i].y,100,20);   //畫方框(長:100、寬:20)
  }

  image(imgDino,dinoX,dinoY,100,100);

  dinoY += dinoVY ;

  if(dinoY < 450)
    dinoVY += 0.98 ;
   else
     dinoVY =0;
}

void mousePressed(){
  dinoVY = -25 ;
}

void mouseMoved(){
  dinoX = mouseX;
}


-----------------------------------------------------------------------------------------------------



























PImage imgDino;
PVector [] board = new PVector[10];
void setup(){
  size(800,600);
  imgDino = loadImage("dino.png");

  for(int i=0;i<10;i++){
    board[i] = new PVector(random(800),i*60);
  }
}
float dinoX = 400 , dinoY = 0, dinoVY = 0;
void draw()
{
  background(255);
  dinoY += dinoVY ;
  for(int i = 0;i<10;i++){
    rect(board[i].x,board[i].y,100,20);
   
    if( dinoX+100 > board[i].x   &&  dinoX  < board[i].x + 100
            &&  abs(dinoY+100 - board[i].y) < 100 )
    {
      dinoVY = 0; dinoY = board[i].y - 100 ;

    }
  }
  rect(dinoX , dinoY , 100 , 100  );
  image(imgDino,dinoX,dinoY,100,100);

//dinoY += dinoVY ;
 
  if(dinoY < 450)
    dinoVY += 0.98 ;
   else
     dinoVY =0;
}

void mousePressed(){
  dinoVY = -25 ;
}

void mouseMoved(){
  dinoX = mouseX;
}

沒有留言:

張貼留言