今天第一個程式:
第一個:
void setup() { size(400, 400); } void draw() { background(255); fill(#FFDC0F);//填充黃色 float angle=radians(mouseX); for (int x=0; x<400; x+=100) { for (int y=0; y<400; y+=100) { arc(x+50, y+50, 100, 100, 0 + angle, PI*2 - angle, PIE);//變畫弧度 //(X座標,Y座標,寬,高,開始,結束,PIE) } } }第二個(這個程式會讓pacman開到不見):void setup() { size(400, 400); } void draw() { background(255); fill(#FFDC0F);//填充黃色 float angle=radians(frameCount); if (angle>PI/4)angle=angle-PI/4; arc(200, 200, 300, 300, 0+angle, PI*2-angle, PIE); }
第三個(這個有修改過,所以可以控制angle的值,用radians、frameCount,就可以自動開關
):void setup() { size(400, 400); } void draw() { background(255); fill(#FFDC0F);//填充黃色 float angle=frameCount%180; if (angle<45)angle=radians(angle); else if (angle<90)angle=radians(90-angle); else if (angle<135)angle=radians(angle-90); else if (angle<180)angle=radians(180-angle); arc(200, 200, 300, 300, 0+angle, PI*2-angle, PIE);}
第四個(用之前的改,變很多個pacman):void setup() { size(400, 400); } void draw() { background(255); fill(#FFDC0F);//填充黃色 for (int x=0; x<400; x+=100) { for (int y=0; y<400; y+=100) { float angle=frameCount%180; if (angle<45)angle=radians(angle); else if (angle<90)angle=radians(90-angle); else if (angle<135)angle=radians(angle-90); else if (angle<180)angle=radians(180-angle); arc(x+50, y+50, 100, 100, 0 + angle, PI*2 - angle, PIE); } } }第五個(加上keyPressed,偵測按鍵按下就往哪裡走):void setup() { size(400, 400); } int x=200, y=200; void draw() { background(255); fill(#FFDC0F); if (keyPressed&&keyCode==RIGHT)x++; if (keyPressed&&keyCode==LEFT)x--; if (keyPressed&&keyCode==UP)y--; if (keyPressed&&keyCode==DOWN)y++; ellipse(x, y, 100, 100); }第六個(用第三個程式修改,使用mouseX,利用mouse在畫面裡面的X座標,改變radians的值,pacman的開口就會改變):void setup() { size(400, 400); } void draw() { background(255); fill(#FFDC0F);//填充黃色 float angle=frameCount%180; float b=radians(mouseX); if (angle<45)angle=radians(angle); else if (angle<90)angle=radians(90-angle); else if (angle<135)angle=radians(angle-90); else if (angle<180)angle=radians(180-angle); arc(200, 200, 300, 300, b+0+angle, b+PI*2-angle, PIE); }第七個(把pacman的動畫加進去,然後用上下左右方向鍵改變pacman的開口):void setup() { size(400, 400); } float x=200, y=200, d=0; void draw() { background(255); fill(#FFDC0F);//填充黃色 float angle=frameCount%180; if (angle<45)angle=radians(angle); else if (angle<90)angle=radians(90-angle); else if (angle<135)angle=radians(angle-90); else if (angle<180)angle=radians(180-angle); arc(x, y, 100, 100, d+0+angle, d+PI*2-angle, PIE); } void keyPressed() { if (keyCode==RIGHT) { x++; d=PI/2*0; } if (keyCode==DOWN) { y++; d=PI/2*1; } if (keyCode==LEFT) { x--; d=PI/2*2; } if (keyCode==UP) { y--; d=PI/2*3; } }第八個(把第七個程式縮短):void setup() { size(400, 400); } int x=200, y=200, d=0; void draw() { background(255); fill(#FFDC0F); float angle=0.5; int []dx={1, 0, -1, 0}; int []dy={0, 1, 0, -1}; x+=dx[d]; y+=dy[d]; arc(x, y, 100, 100, PI/2*d+angle, PI/2*d+PI*2-angle, PIE); } void keyPressed() { if (keyCode==RIGHT)d=0; if (keyCode==DOWN)d=1; if (keyCode==LEFT)d=2; if (keyCode==UP)d=3; }第九個(abs=絕對值的意思):void setup() { size(400, 400); } int x=200, y=200, d=0; void draw() { background(255); fill(#FFDC0F); float angle=radians(abs(frameCount%90-45)); int []dx={1, 0, -1, 0}; int []dy={0, 1, 0, -1}; if(keyPressed)x+=dx[d]; if(keyPressed)y+=dy[d]; arc(x, y, 100, 100, PI/2*d+angle, PI/2*d+PI*2-angle, PIE); } void keyPressed() { if (keyCode==RIGHT)d=0; if (keyCode==DOWN)d=1; if (keyCode==LEFT)d=2; if (keyCode==UP)d=3; }快捷鍵:
ctrl+R 執行
ctrl+T 自動排版
ctrl+N 新檔案
Git 指令
cd desktop
git clone https://github.com/mickey1132/2024-Interaction
cd 2024-Interaction
git status
git add .
git status
git config --global user.email mickylin1132@gmail.com
git config --global user.name mickey1132
git commit -m WeekXX
git push
cd desktop
git clone https://github.com/mickey1132/2024-Interaction
cd 2024-Interaction
git status
git add .
git status
git config --global user.email mickylin1132@gmail.com
git config --global user.name mickey1132
git commit -m WeekXX
git push
沒有留言:
張貼留言