2019年12月12日 星期四

Week14 06161215

Part1 小畫家大亂鬥

mouse畫的資料,可用網路存到Server,一起秀出來。
要有自己的mouse,pmouse。

Client
import processing.net.*;
Client client;
  void setup() {
  size(300, 300);
  client = new Client(this, "127.0.0.1", 7777);//Server在localhost
}
void draw() {
  if (mousePressed) {
    line(mouseX, mouseY, pmouseX, pmouseY);
    client.write(mouseX+" "+mouseY+" "+pmouseX+" "+pmouseY+"\n");
  }
}

Server
import processing.net.*;
Server server=null;
Client client=null;//等一下要上門的Client,只接受一位客人
void setup() {
  size(300, 300);
  server = new Server(this, 7777);//不用寫IP
}
void draw() {
  Client temp = server.available();//看有沒有人來
  if (temp != null) {//有人來,連線成功
    client=temp;
  }
  if (client !=null) {
    String now = client.readString();//如果有送資料,會讀到4個座標
    if (now!=null) print(now);
  }
}

ArrayList
import processing.net.*;
Client client;
ArrayList<PVector>points;
void setup(){
  size(300,300);
  client = new Client(this,"127.0.0.1",7777);
  points = new ArrayList<PVector>();
}
void draw(){
  background(255);
  for(int i=0;i<points.size();i++){
    ellipse(points.get(i).x,points.get(i).y,5,5);
  }
}
void mouseDragged(){
  if(mouseButton==LEFT) points.add(new PVector(mouseX,mouseY));
  if(mouseButton==RIGHT && points.size()>0) points.remove(points.size()-1);
}
  

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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