本日心得:
今天的課程充滿互動,互動性極高,雖然前幾次上課也都富有互動性,但今天可以設計一些多媒體互動的雛型,覺得很棒很特別,看著老師開著直播,完全是沒有稿的直接上場,就劈哩啪啦的打了一堆程式碼,真的很顛覆以往我對於寫程式的老師之刻板印象,因為過往老師寫程式都是用說的,喔~這個很簡單R! 就!@#$%^^*%$%$# 弄一弄就好了R! 原來程式這麼簡單... XDD 但是葉老師有別於我遇到的老師,是一個言出必行,親力親為的老師,真的超狂! 這難道揪4寫程式!!!
![沒有自動替代文字。](https://scontent-tpe1-1.xx.fbcdn.net/v/t1.0-9/15400892_1869872326582369_9104360880967385582_n.png?oh=7df92ffb9ea10260cdc1ddd63d305c23&oe=59216443)
投影藝術:餐桌上的小廚師
享用餐點之前的數位媒體應用
程式功能是要實作能夠在餐桌上拖曳盤子
PVector [] dish=new PVector[4];
void setup(){
size(640,480);
dish[0] = new PVector(100,100);
dish[1] = new PVector(540,100);
dish[2] = new PVector(100,380);
dish[3] = new PVector(540,380);
}
void draw(){
background(255);
ellipse(320,240,400,400);
ellipse(100,100,100,100);
ellipse(540,100,100,100);
ellipse(100,380,100,100);
ellipse(540,380,100,100);
for(int i=0;i<4;i++){
ellipse(dish[i].x,dish[i].y,90,90);
}
}
int nowDish = -1;
void mousePressed(){
for(int i=0;i<4;i++){
if( dist(dish[i].x,dish[i].y,mouseX,mouseY) < 45){
nowDish = i;
}
}
}
void mouseDragged(){
if (nowDish!=-1){
dish[nowDish].x=mouseX;
dish[nowDish].y=mouseY;
}
}
void mouseReleased(){
nowDish = -1;
}
------------------------------------------------------------------------------------
PVector [] dish=new PVector[4];
float [] r = {0,0,0,0};
float [] angle = {0,0,0,0};
void setup(){
size(640,480);
dish[0] = new PVector(100,100);
dish[1] = new PVector(540,100);
dish[2] = new PVector(100,380);
dish[3] = new PVector(540,380);
}
void draw(){
background(255);
ellipse(320,240,400,400);
ellipse(100,100,100,100);
ellipse(540,100,100,100);
ellipse(100,380,100,100);
ellipse(540,380,100,100);
for(int i=0;i<4;i++){
ellipse(dish[i].x,dish[i].y,90,90);
line(dish[i].x, dish[i].y, 320,240);
}
if(keyPressed){
for(int i=0;i<4;i++){
angle[i] -= 0.01;
dish[i].x= r[i] * cos(angle[i]) + 320;
dish[i].y= r[i] * sin(angle[i]) + 240;
//angle[i] += 0.01;
//dish[i].x= r[i] * cos(angle[i]);
//dish[i].y= r[i] * sin(angle[i]);
}
}
}
int nowDish = -1;
void mousePressed(){
for(int i=0;i<4;i++){
if( dist(dish[i].x,dish[i].y,mouseX,mouseY) < 45){
nowDish = i;
}
}
}
void mouseDragged(){
if (nowDish!=-1){
dish[nowDish].x=mouseX;
dish[nowDish].y=mouseY;
r[nowDish] = sqrt( (mouseX-320)*(mouseX-320) + (mouseY-240)*(mouseY-240) );
angle[nowDish] = atan2(mouseY-240, mouseX-320);
}
}
void mouseReleased(){
nowDish = -1;
}
---------------------------------------------------------------------------------------
沒有留言:
張貼留言