顯示具有 496300113 簡旭璋 標籤的文章。 顯示所有文章
顯示具有 496300113 簡旭璋 標籤的文章。 顯示所有文章

2011年1月6日 星期四

Course review


1. What is your favorite homework? 
我最喜歡用arduino製作小鋼琴那個作業,能透過程式碼配合實體的電路板來操作,並能彈出不同音階的聲音,真的很棒!不像以前只有看起來死死的程式碼,很單調乏味,結果只會輸出在螢幕上。

2. What did you learn in this course? 
processing
能夠利用簡單的函數,做出很多繪圖的部分
也可以做成很多和使用者互動的遊戲,例如期中專題,小畫家等等


arduino
學到了能使用程式去控制硬體的方法,例如讓LED亮或不亮,喇叭發聲等等


3. What did you change after this course?
上完這學期的課,學到了如何讓使用者透過鍵盤、按鈕,滑鼠和程式去做互動
也學到了很多視窗控制,和遊戲流程的方法,如何判斷被丟西丟到,如何讓遊戲結束做出相對應的事等等



HW11: Arduino Piano Show



心得:
這次使用了arduino板子加上arduino程式碼做出小鋼琴。
板子接上簡單的電路、按鈕和喇叭配合程式碼就能彈奏小鋼琴。
按鈕有五個有5個音,所以彈了小蜜蜂和一首我忘記名稱的歌

做出這個很有成就感。

HW07: Processing Project Design


遊戲名稱:派大星只愛吃香蕉
操作方式:使用鍵盤的上下左右
目標:讓派大星吃他愛的香蕉,吃到西瓜就扣分! HP到0就結束
組員:簡旭璋、古明仕

2010年10月28日 星期四

HW06: Image Animating Application

HW06-1:
1.
Images are colored with the tint() function. This function is used the same way as
fill() and stroke(), but it affects only images:

tint() //單一顏色遮罩住圖片,可以做出淡入淡出效果
noTint() //把tint關掉


2.讓圖片移動
就是讓 image(photo, x, y)裡的X和Y做增加或遞減


HW06-2: Coordinate system translation
translate(x, y) //平移系統座標
rotate(angle) //旋轉座標,逕度非角度,會順時鐘旋轉,且角度會一直累積,到2PI會回到原點
會動的電風扇




HW06-3: Easing Motion
創造一個球,跟著滑鼠跑,之後增加跟屁蟲XD

x1 += (mouseX- x1) * easing;  //easing是一個參數,設定跟緊的程度
y1 += (mouseY- y1) * easing;  







HW06-4: Storing mouse data in Arrays
把滑鼠座標存在陣列裡,之後複製前一個球等於下個球的位子

 for (int i = num-1; i > 0; i--)
 {
     x[i] = x[i-1];
     y[i] = y[i-1];
 }




補充: keyPressed //按鍵觸發布林事件


心得:
這次做得東西都和使用者互動有關係,不再是死死的程式,是生動活潑的!
我非常歡這樣的課程,希望能把這些所學應用到專題上。



2010年10月14日 星期四

HW05: Image Browsing Application

今天學到了這些方法
 PImage imgFront = loadImage(f.jpg);  //宣告PImage物件變數,使用loadImage載入圖片
image(imgFront, x, y, width, height);   //把圖片貼上畫布區
或image(imgFront, x, y);

textSize(n); // 改變字體大小,預設為12


這圖片我覺得還蠻搭的XD


今天學的是圖片瀏覽器,讓使用者可以切換圖片來達到不同的組合,並且可以讓滿意的圖片存檔。這些圖片都是班上同學畫的,配一配會有很多種好笑的組合,我覺得這樣真的蠻好玩的。

2010年10月7日 星期四

HW04: Text & Image

1.把字串畫在繪圖區
[宣告區]
PFont font;  //宣告PFont物件參考變數

[setup區]
font = loadFont("serif.vlw");  //載入字型
textFont(font);  //設定text字型
textSize(); //設定字型大小
text("string", x, y); //畫上字串從(x,y)開始


字型可以至 processing-1.0.5 資料夾搜尋 *.vlw 就會有很多字型被找到
之後把你要的字型複製到目前程式的資料夾,就可以使用

2.存檔
save("lfilename.jpg");
processing會自動存圖片檔至目前程式的資料夾上




今天的課程內容就是延伸上次的小畫家,把擦布、更改畫筆大小,清除,存檔功能做出來。
每次上課都有新的收穫,那種自己做出一個小程式的成就感更是快樂。

2010年9月30日 星期四

HW03: Interaction with mouse

HW03-1:
延伸上禮拜畫的圓形
讓眼珠可以跟著滑鼠做運動


其關鍵在於
ellipse(x+(mouseX-400)/18,y+(mouseY-400)/18,100,100);
把畫ellipse的X、Y值用變數mouseX、mouseY取代




HW03-2:
第2堂課是教做一個小畫家
讓使用者選擇左邊的顏色,能在畫布上作畫
下禮拜要增加功能,清除、擦布、存檔、改畫筆大小

讓使用者選擇顏色關鍵在於界定顏色範圍
mouseX <= 50 &&  150 <= mouseY && mouseY <= 200






今天學到的method :
smooth() 使圖形無鋸齒
strokeWeight() 設定圖形邊線大小
stroke() 設定邊框顏色,可以有RGB參數或單一參數
frameRate() 設定每秒跑幾張圖
mousePress  傳回  true或 false ,如果滑鼠有被按下則傳回 true
mouseX, mouseY 傳回目前滑鼠所在座標
pmouseX, pmouseY 傳回上次滑鼠所在座標
mouseButton 傳回 LEFT 或 RIGHT ,按下左鍵傳回LEFT



2010年9月23日 星期四

HW02: Repetition

hw2-1
(a)
畫出100個透明的隨機矩形



(b) 待補


hw2-2



hw2-3
畫布大小 800*600
將畫面分割成 4*3 格
每個格子都包含有3個圓形




心得:
今天學到了Processing的程式架構,宣告區、setup區、draw區,其中setup()只會執行一次,而draw()會一直執行,如果不想讓draw跑太快,可以用frameRate()限制每秒幾張速度。

fill(a,b,c,d) 原本只知道abc三個參數,而d是代表透明度,範圍0~255,跟視訊處理不一樣(0~100) XD


random(high) //回傳一個float值,0 <= x < high
random(low, high) // 回傳一個float值,low <= x < high


今天還學到用巢狀迴圈,簡單來說迴圈內包含迴圈。

2010年9月16日 星期四

HW01: Geometric Painting with Processing

原圖

使用小畫家模擬,小畫家很nice的



使用程式寫出來的


fill()  //使用顏色填滿圖形
noFill()  //把填滿的顏色取消,剩邊緣
stroke()  //使用顏色填滿線,或圖形的邊線
nostroke()  //不顯示圖形的邊線


心得:
第一次上課就覺得很好玩,尤其Processing根本是簡化版的語法,base on java,使用上很容易上手。聽老師說下一次的課程式寫會動的,就期待下次上課囉 :D。