第五週課程:酷範例、期末關鍵技術
week05 : cool example , key technology
第一節課(畫出多視窗、轉動的眼睛)
1.畫出很多個java視窗而且每一個都能有 void setup() 及 void
draw()來做動作
範例網址:https://forum.processing.org/one/topic/multiple-
windows-2-4-2011.html
因為他的程式碼是舊版的,所以要加上: import
java.awt.Frame;
import java.awt.Frame; // 新版processing 要加這個
PFrame f;
secondApplet s;
void setup() {
size(320, 240);
PFrame f = new PFrame();
}
void draw() {
background(255,0,0);
fill(255);
rect(10,10,frameCount%100,10);
s.background(0, 0, 255);
s.fill(100);
s.rect(10,20,frameCount%120,10);
s.redraw();
}
public class PFrame extends Frame {
public PFrame() {
setBounds(100,100,400,300);
s = new secondApplet();
add(s);
s.init();
show();
}
}
public class secondApplet extends PApplet {
public void setup() {
size(400, 300);
noLoop();
}
public void draw() {
}
}
紅色的視窗為原始視窗 藍色為製造出來的視窗
2.畫出會轉動的眼睛
void setup()
{
size(800,600);
}
void draw()
{
float t=frameCount/180.0*PI;
background(0);
fill(255);
ellipse(40,50,33,33); //畫圓形(x位置,y位置,高度,寬度)
ellipse(120-40,50,33,33);
fill(0);
ellipse(40+15*cos(t),50+15*sin(t),5,5);
ellipse(120-40+15*cos(t),50+15*sin(t),5,5);
}
第二節課(眼睛能夠跟著滑鼠走)
1.畫出眼睛能夠跟著滑鼠走
void setup()
{
size(800,600);
}
void draw()
{
background(0);
fill(255);
ellipse(40,50,33,33);
ellipse(120-40,50,33,33);
fill(0);
float t=atan2(mouseY-50,mouseX-45); //方便的atan可以直接算出角度
ellipse(40+15*cos(t),50+15*sin(t),5,5);
t=atan2(mouseY-50,mouseX-(120-40));//方便的atan可以直接算出角度
ellipse(120-40+15*cos(t),50+15*sin(t),5,5);
}
2.用方塊做出雙股螺旋
void setup()
{
size(600,600);
}
void draw()
{
background(255);
float t=frameCount/100.0;
for(float f=0;f<=PI;f+=0.1)
{
rect(200+150*cos(f+t),f*100,30,30); //畫方塊
rect(200+150*cos(f+t+PI),f*100,30,30); //畫方塊
}
}

第三節課
與組員討論期末作業的內容
如果要使用unity 接上leap motion
請google leap motion unity tutorial
請使用英文搜尋 因為unity是英文的,而且用英文找到比數較多。
沒有留言:
張貼留言