2019年10月24日 星期四

Week07_

0.

要用去背的透明圖片可以用PPT的"移除背景"


1.

PVector user,uV;
void setup(){
  size(400,400);
  user= new PVector(200,200);
  uV= new PVector(1,1);
}
void draw(){
  background(250);
  ellipse(user.x,user.y, 100,100);
  user.add(uV);
  if(user.x>400-50) uV.x=-1;
  if(user.y>400-50) uV.y=-1;
  if(user.x<50) uV.x=+1;
  if(user.y<50) uV.y=+1;
}
PImage map;
void setup(){
  size(400,400);
  map=loadImage("mm.png");
  map.loadPixels();
}
void draw(){
  background(map);
  if(map.pixels[mouseX+mouseY*400]==color(237,28,36)){
    
  }
}

888..
int[][] Block= new int[20][20];//Block
void setup() {
  size(800, 600);
  int s = second();
  for(int i=0;i<15;i++){
    Block[i][0]=int(random(15));
  }//Block
}
float vX=0;
int blockX=100;
void draw() {
  background(125);
  for (int i=0; i<15; i++) {
    for (int j=0; j<19; j++) {
      fill(255);
      rect(10+i*40, 20+j*30, 40, 30);
    }
  }
  
  for(int i=0;i<15;i++){
    fill(0,0,255);
    rect(10+Block[i][0]*40,20+0*30, 40,30);
  }//Block
  
  blockX();
}
void blockX() {
  fill(255, 0, 0);
  rect(blockX, 535, 80, 20);
  if (code==1)blockX+=vX;
  if (blockX>=520)blockX=520;
  if (blockX<=20)blockX=20;
}
int code=0;
void keyPressed() {
  if (keyCode==RIGHT) {
    vX=4;
    code=1;
  } else if (keyCode==LEFT) {
    vX=-4;
    code=1;
  }
}
void keyReleased() {
  code=0;
}

98..

int[][] Block= new int[20][20];//Block
void setup(){
  size(800, 600);
}
void draw(){
  background(125);
  for (int i=0; i<15; i++) {
    for (int j=0; j<19; j++) {
      fill(255);
      rect(10+i*40, 20+j*30, 40, 30);
    }
  }
  blockX();
}
float vX=0,blockX=100;
void blockX(){
  fill(255, 0, 0);
  rect(blockX, 535, 80,20);
  if(code==1)blockX+=vX;
  if(blockX>=525)blockX=525;
  if(blockX<=15)blockX=15;
}
int code=0;
void keyPressed(){
  if(keyCode==RIGHT) {
    vX=4;  code=1;
  }else if(keyCode==LEFT) {
    vX=-4;  code=1;
  }
}
void keyReleased(){
  code=0;
}

589..
int block[][]=new int [20][16];
PVector boom,bV;
float vX=0,blockX=100;
//float boom=blockX;
void setup() {
  size(800, 600);
  frameRate(60);
  boom= new PVector(blockX+40,545);
  bV= new PVector(-1,-1);
}
void draw() {
  for (int i=0; i<19; i++) {
    for (int j=0; j<15; j++) {
      fill(255);
      rect(10+j*40,20+i*30, 40,30);
    }
  }
  block();
  blockX();
  //boom= new PVector(blockX+40,545);
  fill(255, 0, 255);
  ellipse(boom.x,boom.y, 20,20);
  boom.add(bV);
  if(boom.x>600) bV.x=-1;
  if(boom.y>550) bV.y=-1;
  if(boom.x<20) bV.x=+1;
  if(boom.y<60) bV.y=+1;
}

void block(){
  int x=0;
  x=(int)random(12)+3;
  for (int j=0; j<x; j++) {
    int c=(int)random(15);
    if (block[0][c]==1)continue;
    else block[0][c]=1;
  }
  for (int i=0; i<19; i++) {
    for (int j=0; j<15; j++) {
      fill(0, 0, 255);
      if (block[i][j]==1) {
        rect(10+j*40, 20+i*30, 40, 30);
      }
    }
  }
  for (int j=19; j>0; j--) {
    for (int i=0; i<15; i++) {
      if(frameCount%60==0){
        block[j][i]=block[j-1][i];
      }
    }
  }
  for (int j=0; j<15; j++) {
    block[0][j]=0;
  }
  println(frameCount);
}

void blockX(){
  fill(255, 0, 0);
  rect(blockX, 535, 80,20);
  if(code==1)blockX+=vX;
  if(blockX>=525)blockX=525;
  if(blockX<=15)blockX=15;
}
int code=0;
void keyPressed(){
  if(keyCode==RIGHT) {
    vX=4;  code=1;
  }else if(keyCode==LEFT) {
    vX=-4;  code=1;
  }
  
}
void mousePressed(){
  boom.add(bV);
  
}
void keyReleased(){
  code=0;
}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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