1、小畫家大亂鬥
2、麵包版搖桿
3、UDP
01 先試著跟自己連線,在 Server 端 print 出滑鼠數值
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) print(now); } }
CLIENT:
import processing.net.*; Client client; void setup(){ size(300,300); client = new Client(this,"120.125.70.15",7777); } void draw(){ if(mousePressed){ line(mouseX,mouseY,pmouseX,pmouseY); client.write(mouseX+" "+mouseY+" "+pmouseX+" "+pmouseY+"\n"); } }
02 讓 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])); } } }04 Client 端可以用ellipse畫畫且可以消除CLIENT 端更新:import processing.net.*; Client client; ArrayList<PVector> points; void setup(){ size(300,300); client = new Client(this,"120.125.70.15",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); }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); for(int i=0;i < xyxy.length ;i+=4){ line( int(xyxy[i+0]),int(xyxy[i+1]),int(xyxy[i+2]),int(xyxy[i+3])); } } } }



沒有留言:
張貼留言