2019年11月28日 星期四

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

★筆記☆

★Maker Uno★

☆☆
工具->顏色選擇器。

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



pinMode(13, OUTPUT); // sets the digital pin 13 as output
digitalWrite(13, HIGH); // sets the digital pin 13 on

#define NOTE_C5  523//DO
#define NOTE_D5  587//RE
#define NOTE_E5  659//ME
#define NOTE_F5  698//FA
#define NOTE_G5  784//SO
#define NOTE_A5  880//LA
#define NOTE_B5  988//SI

☆☆★★
int Do=523;
int Re=587;
int Mi=659;
int Fa=698;//FA
int So=784;
int Melody[]={So,Mi,Mi,Fa,Re,Re,Do,Re,Mi,Fa,So,So,So,So,Mi,Mi,Fa,Re,Re,Do,Re,So,So,Mi,Re,Re,Re,Re,Re,Mi,Fa,Mi,Mi,Mi,Mi,Mi,Fa,So,So,Mi,Mi,Fa,Re,Re,Do,Mi,So,So,Do,0};
void setup() {
  // put your setup code here, to run once:
  pinMode(8, OUTPUT);
  pinMode(2,INPUT_PULLUP);
}
int i=0;
void loop() {
  // put your main code here, to run repeatedly:
  if(digitalRead(2)==LOW)
    {
      tone(8,Melody[i],500);
      delay(500);
      i++;
    }
  if(Melody[i]=="0")
  {
    noTone(8);
   }

}


☆☆★★
int Do=523;
int Re=587;
int Mi=659;
int Fa=698;//FA
int So=784;
int La=880;
int Si=988;
int Melody[]={Do,Re,Mi,Fa,So,La,0,Si};
void setup() {
  // put your setup code here, to run once:
  for(int i=2;i<=13;i++){
    pinMode(i,INPUT_PULLUP);
  }
 pinMode(8, OUTPUT);
}
int alpha=0;
void loop() {
  for(int i=2;i<=9;i++){
    if(i==8)continue;
    if(digitalRead(i)==LOW){tone(8,Melody[i-2],200);}
  }
}
☆★★☆
client
import processing.net.*;
Client client;
void setup(){
  size(200,200);
  client = new Client(this,"120.125.70.40",7777);
}
void draw(){
  

}
void mousePressed()

{
  client.write("Helo");

}
☆☆
SerVer
import processing.net.*;
Server server;
void setup(){
  size(300,300);
  server = new Server(this,7777);
}
void draw(){
  Client thisClient=server.available();
  while(thisClient !=null)

{
  String now=thisClient.readString();
  if(now!=null)println("SErver Receiver: "+now);
}

}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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