先開Server端,再開Client端,就能夠在Client端畫畫,在Server端顯示
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]));
}
}
}
Client端程式
import processing.net.*;
Client client;
void setup(){
size(300,300);
client=new Client(this,"120.125.70.35",7777);
}
void draw(){
if(mousePressed){
line(mouseX,mouseY,pmouseX,pmouseY);
client.write(mouseX+" "+mouseY+" "+pmouseX+" "+pmouseY+"\n");
}
}
畫圖案後,可按右鍵將原本畫的刪除
import processing.net.*;
Client client;
ArrayList<PVector>points;
void setup(){
size(300,300);
client=new Client(this,"120.125.70.35",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);
}
沒有留言:
張貼留言