alanhc 互動技術-week7

alanhc 互動技術-week7

October 24, 2019

小畫家著作半透明貼圖,做好丟入ppt

移動小星星練習

優秀學姊作品

1. 使用 keyPressed() 、 keyReleased() 控制變數
2. 在draw()改圖

一次讀很多圖
1. 宣告物件:PImage[] img = new PImage[3];
2. 讀檔:for (int i=0; i<3; i++) img[i] = loadImage("star"+i+".png");
QUEUE 排隊產生10以內的閃電
if (thunderN==10) {
    for (int i=0; i<9; i++) {
        thunderX[i]=thunderX[i+1];
        thunderY[i]=thunderY[i+1];
        thunderDir[i]=thunderDir[i+1];
    }
    thunderN--;
}
* 往前挪 thunderX[i]=thunderX[i+1];

移動小星星程式

位置:draw()
background(mouseX);
image(img[run],starX,starY,50,50);
starX+=run-1;
位置:keyPressed()keyReleased()
run=0 or 1 or 2

閃電程式

控制閃電:thunderDir、thunderX、thunderY
1. 產生閃電 位置:draw()
if (frameCount%60==0genThunder();   每60frame產生一個閃電
2. 畫閃電 位置:draw()
drawThunder()


PVector練習


物件的移動方法
宣告 PVector useruserV;
給定值 user = new PVector(200,200);
兩個向量 user+userV
  user = new PVector(200,200);
  userV = new PVector(1,1);
user.add(userV);

完整程式碼


電流急急棒



判斷如果碰到邊
準備圖片
  imgMap=loadImage("map.png");
  imgMap.loadPixels();
判斷滑鼠點顏色
  imgMap.pixels[ mouseX+mouseY*360 ]==color(0,0,0)
完整程式:

彈幕

使用前面的PVector小技巧


小問題:曲率?