2019互動技術W14
在client端畫畫,收到位址訊息(網路連線)
Server程式
import processing.net.*;
Server server=null;
Client client=null;等一下要上門的Client,只接受一位顧客
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();如果有送資料,會讀到4個座標
if (now!=null)print(now);
}
}
Client程式
import processing.net.*;
Client client;
void setup() {
size(300, 300);
client=new Client(this, "120.125.70.36", 7777);客戶的IP
}
void draw() {
if (mousePressed) {
line(mouseX, mouseY, pmouseX, pmouseY);要送出4個數字
client.write(mouseX+" "+mouseY+" "+pmouseX+" "+pmouseY+"\n");
}
}
Client和Server同步畫畫(連線)
Server程式
import processing.net.*;
Server server=null;
Client client=null;等一下要上門的Client,只接受一位顧客
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();如果有送資料,會讀到4個座標
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.36", 7777);客戶的IP
}
void draw() {
if (mousePressed) {
line(mouseX, mouseY, pmouseX, pmouseY);要送出4個數字
client.write(mouseX+" "+mouseY+" "+pmouseX+" "+pmouseY+"\n");
}
}
畫畫可以undo往回復原
Client程式
import processing.net.*;
Client client;
ArrayList<PVector>points;
void setup() {
size(300, 300);
client=new Client(this, "120.125.70.36", 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);
}
按左鍵可以畫畫,按右鍵可以消除



沒有留言:
張貼留言