2015年10月12日 星期一

02160615_成庭萱_Week05

先下載安裝OBJLoader
開啟OBJ的sample 再利用sample剪貼
(1)

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, 0);
  model.draw();
}

(2)
按滑鼠讓恐龍可以跳


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 += dinoVY;
  dinoVY += 0.98;
}
void mousePressed() {
  dinoVY = -25;
}


左右移動滑鼠可左右移動恐龍
恐龍不會掉到地底下
以亂數出現rect


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


左右移會自己跳到rect上

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);
    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);
  if (dinoY<450) dinoVY += 0.98;
  else dinoVY=0;
}
void mousePressed() {
  dinoVY = -25;
}
void mouseMoved() {
  dinoX=mouseX;
}

沒有留言:

張貼留言