試用PV
程式碼:
//int a=10;
size(600,600);
PImage img=loadImage("img.jpg");
PVector pt=new PVector(10,20,0);
image(img, 0,0);
println(pt.x);
//以前要用的時候
float userX=10,userY=20,userZ=0;
float user2X=30,user2Y=40,user2Z=0;
//現在可以用物件來讓他有條理
PVector user=new PVector(10,20,0);
PVector user2=new PVector(30,40,0);
有個物件導向能拿來用
程式碼:
PVector user;//(1)外面宣告,setup()及draw()都看得到
void setup(){
size(600,600);
user = new PVector(10,20);//(2)只要setup()new一次
}//以前的音樂Minim minim=new Minim(this);
//以前的UDP udp = new UDP(this,"6000");
void draw(){
background(255);
ellipse(user.x,user.y,20,20);//(3)用它的值
}
做憤怒鳥拉彈弓的部
第一步:
程式碼:
PVector user;//(1)外面宣告,setup()及draw()都看得到
PVector Y;
void setup(){
size(600,400);
user = new PVector(100,300);//(2)只要setup()new一次
Y=new PVector(100,300);
}
void draw(){
background(255);
line(user.x, user.y, Y.x, Y.y);
textSize(40);
fill(255,0,0);text("Y",Y.x, Y.y);
fill(255);ellipse(user.x, user.y,20,20);//(3)用它的值
}
void mouseDragged(){
user.x=mouseX;
user.y=mouseY;
}
void mouseReleased(){
}
第二步:
程式碼:
PVector user;//(1)外面宣告,setup()及draw()都看得到
PVector Y,v=null;//Y:彈弓 v:飛行速度
void setup(){
size(600,400);
user = new PVector(100,300);//(2)只要setup()new一次
Y=new PVector(100,300);
}
void draw(){
background(255);
line(user.x, user.y, Y.x, Y.y);
textSize(40);
fill(255,0,0);text("Y",Y.x, Y.y);
fill(255);ellipse(user.x, user.y,20,20);//(3)用它的值
if(v!=null)user.add(v);
}
void mouseDragged(){
user.x=mouseX;
user.y=mouseY;
}
void mouseReleased(){
PVector diff = PVector.sub(Y,user);//減法
v=diff.div(10);//除法
}
使用搖桿控制
程式碼:
void setup() {
pinMode(2,INPUT_PULLUP);// 拉高的Input
Serial.begin(9600);//開始設定 USB的傳輸速度
}
void loop(){//1000Hz (1000fps)
int x = analogRead(A0);//0...1023
int y = analogRead(A1);//0...1023
int sw = digitalRead(2);//HIGH(放開) or LOW(按下去)
Serial.write(x);
Serial.write('+');
Serial.write(y);
Serial.write('+');
Serial.write(sw);
Serial.write(' ');
delay(20);//1000ms/20ms=>850fps,變慢了
}
程式碼:
import processing.serial.*;
Serial myPort;
void setup(){
size(256,256);
myPort = new Serial(this,"COM5",9600);
}
int ballX=0, ballY=0;
void draw(){
if(myPort.available()>=3){
int x = myPort.read();
int y = myPort.read();
int sw = myPort.read();
ballX= x;
ballY= y;
}
ellipse(ballX,ballY,10,10);
}







沒有留言:
張貼留言