2019年10月24日 星期四

互動技術week07

PVector user;
PVector userV;
void setup()
{
  size(400, 400);
  user=new PVector(200, 200);
  userV=new PVector(1, 1);
}
void draw()
{
  background(255);
  ellipse(user.x, user.y, 100, 100);
  user.add(userV);
  if (user.x>400-50)userV.x=-1;
  if (user.y>400-50)userV.y=-1;
  if (user.x<50)userV.x=+1;
  if (user.y<50)userV.y=+1;
}


PImage imgMap;
void setup(){
  size(400,400);
  imgMap=loadImage("map.png");
  imgMap.loadPixels();

}
void draw()
{
  background(imgMap);
  if(imgMap.pixels[mouseX+mouseY*400]==color(237,28,36)){
  }
  fill(imgMap.pixels[mouseX+mouseY*400]);
  rect(250,250,100,100);
 
 

}


int    [] value   = new int[100];
PVector[] bullet  = new PVector[100];
PVector[] bulletV = new PVector[100];

void setup() {
  size(500, 500);
  for (int i = 0; i < 100; i++) {
    bullet[i]=new PVector(random(500), random(500));
    bulletV[i]=new PVector(random(4)-2, random(4)-2);
  }
}
void draw() {
  background(0);
  for (int i = 0; i < 100; i++) {
    fill(255);
    bullet[i].add(bulletV[i]);
    ellipse(bullet[i].x, bullet[i].y, 5, 5);
    if (bullet[i].x<0) {
      bullet[i].x=0;
      bulletV[i].x=random(2);
    }
    if (bullet[i].x>500) {
      bullet[i].x=500;
      bulletV[i].x=-random(2);
    }  
    if (bullet[i].y<0) {
      bullet[i].y=0;
      bulletV[i].y=random(2);
    }
    if (bullet[i].y>500) {
      bullet[i].y=500;
      bulletV[i].y=-random(2);
    }
  }
}





沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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