2019年10月24日 星期四

☆。week07開始的互動技術。★

★筆記☆

工具->顏色選擇器。

void setup(){} //大約等於Strat()

void draw(){} //大約等於Update()

size() //畫面的大小。

line()//劃一條線,從開始點的XY座標,到結束點的XY座標。

rect()//畫一個長方形,從開始點的XY座標,到結束點的XY座標。

fill()//方格填色,A(RGBA)方式ORB(#??????)色碼填色。

background()//背景填色,A(RGBA)方式ORB(#??????)色碼填色。

ellipse()//橢圓形(起點(XY)座標,長,寬。)

圖片的載入處理:
  1. PImage img;增加圖片近來,先進行宣告
  2. img=loadImage("dora.jpg");讀入圖片
    image(img,0,0,width,height);顯示圖片
右鍵刪除:
  1. if (mousePressed&& mouseButton == RIGHT) { //如果是右鍵,那就把格子填白
  2. int nowX=mouseX/16*16 , nowY=mouseY/30*30; //偵測在哪個位置,將小數消掉之後讓方格基點在左上角

mouseDragged()//滑鼠移動函式

key//用來偵測鍵盤的按鍵

keyCode//用來偵測沒辦法直接打出來的按鍵 UP RIGHT ALT CTRL ENTER 之類的

可以使用PRINT來偵測KEY OR KEYCODE//可能會因為系統差異而有不同編碼
多用變數取代定值,可以更方便更改。

keyReleased//按鍵跳起來後執行

import processing.sound.*;

圖片的留白處理:
  1. 把圖片讀入近PPT
  2. PPT的相片處理效果可以決定要把哪些背景去掉
  3. 把處理好的相片下載回來
  4. 放入程式
imageMode(CENTER);//圖片的中心點

user =new PVector(200,200);//向量
userV=new PVector(1,1);
elipse(user.X,user.Y,100,100);
user.add(userV);


PIXELS:
(1):A=loadImage();
(2):A.loadPixels();
(3):a.pixels[mouseX+mouseY*螢幕寬度] //這個點的顏色。

聲音載入法:


  1. SoundFile player;
setup(){
player = new SoundFile(this,"Dora.mp3");
player.play();
}





★小試身手-STAR




PImage test1;void start(){}int run=0;void draw(){}void keyPressed(){}void keyReleased(){}
PVector userV;void setup() {    size(800, 600);     userV=new PVector();}float vX=0;int blockX=100;int FireX=140;void draw() {    background(0);    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);    }  }    fill(255, 0, 0);    rect(blockX, 535, 80, 20);    FireX=blockX+20;    fill(0, 255, 0);    rect(FireX, 535, 40, 10);       fill(0, 0, 255);    line(FireX+20,535,mouseX,mouseY);  userV.x=mouseX-FireX;  userV.y=mouseY-535;  //rect(250+userV.x,250+userV.y,250,250);
  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;  } else if (keyCode==UP&&userV.x<=5) {      userV.x+=1;        userV.y-=1;  } else if (keyCode==DOWN&&userV.x>=-5) {           userV.x-=1;        userV.y+=1;  }}void keyReleased() {    code=0;}


☆★


沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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