2019互動技術
2019.12.12
畫圖
Client端
Client&Server
import processing.net.*;
Client client;
void setup(){
size(300,300);
client = new Client(this,"127.0.0.1",7777);
}
void draw(){
if(mousePressed){
line(mouseX,mouseY,pmouseX,pmouseY);
client.write(mouseX+" "+mouseY+" "+pmouseX+" "+pmouseY);
}
}
------------------------------------------------------------------------------------------------------------------------
import processing.net.*;
Server server=null;
Client client=null;
void setup(){
size(300,300);
server = new Server(this,7777);
}
void draw(){
Client temp = server.available();
if(temp!=null){
client = temp;
}
if(client!=null){
String now = client.readString();
if(now!=null) print(now);
}
}
在client端畫畫
Server端能同步顯示出來
import processing.net.*;
Server server=null;
Client client=null;
void setup(){
size(300,300);
server = new Server(this,7777);
}
void draw(){
Client temp = server.available();
if(temp!=null){
client = temp;
}
if(client!=null){
String now = client.readString();
if(now!=null){
String[]xyxy = splitTokens(now);
line(int(xyxy[0]),int(xyxy[1]),int(xyxy[2]),int(xyxy[3]));
}
}
}
畫圖完可以倒退擦掉
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 );
}







沒有留言:
張貼留言