Download pdf - Processing Tutorial

Transcript
Page 1: Processing Tutorial

Processing 互動媒體結合 Android智慧型手機研習營

CAVE Education,2013

Page 2: Processing Tutorial

曾吉弘 [email protected]

國北教大玩具與遊戲設計碩士

政治大學資訊管理學士

淡江電機博士班就讀中

現為CAVE教育團隊 技術總監

多校機器人業界講師

<MAKE>、<ROBOCON>雜誌特約編輯

Page 3: Processing Tutorial

Creativity

Adventure

Virtue

Enjoy

Page 4: Processing Tutorial
Page 5: Processing Tutorial
Page 6: Processing Tutorial

Robocon雜誌國際中文版

Page 7: Processing Tutorial

Facebook CAVE教育團隊

Page 8: Processing Tutorial

CAVE系列叢書

Page 9: Processing Tutorial

CAVE活動公布欄

Page 10: Processing Tutorial

CAVE課程

Page 11: Processing Tutorial

CAVE實驗室

Page 12: Processing Tutorial

本日流程

• 9:30 CAVE教育團隊簡介

• 9:50 Processing 環境安裝 設定 Android SDK 資料夾 與Android 裝置驅動程式 介紹Processing IDE 與程式基礎架構 第一支Processing 程式 - 繪製幾何圖形

• 10:30 結合鍵盤與滑鼠動作 按下不同的按鍵畫出各種圖形與線條 滑鼠點擊與拖拉 - 小畫家

• 13:00 將Processing 專案執行於手機

如何下載外部函式庫

觸碰互動小球範例

• 15:30 取得手機的硬體狀態

加速度、姿態感測器

取得座標

• 16:50 結語、賦歸

Page 13: Processing Tutorial

Processing簡介

• Processing 由Ben Fry 及Casey Reas 發起,並且是由MIT Media Lab的Aesthetics and Computation Group的構想發展出來的。

• Processing 開放原始碼的程式語言及開發環境,以Java語法為基礎,可轉換為Java程式,主要用於藝術、影像、影音設計與處理。支援的平台有Linux、Mac OS X及Windows。

• 現在 Processing 可與 Arduino 嵌入式開發進行互動,更可結合 Android 行動裝置。

Page 14: Processing Tutorial

程式碼

常用功能

偵錯訊息

Page 15: Processing Tutorial

• Run

• Verify

• New

• Open

• Save

• Export Application

Page 16: Processing Tutorial

Processing 基本程式架構

• void setup()

• 設定與宣告

• void draw()

• 負責繪圖的無窮迴圈

Page 17: Processing Tutorial

001:長方形

1. size(200,200);

2. background(255);

3. stroke(0);

4. fill(150);

5. rect(50,50,75,100);

Page 18: Processing Tutorial

002:無填滿小圓

1. size(200,200);

2. smooth();

3. background(255);

4. // noFill() leaves the shape with only an outline.

5. noFill();

6. stroke(0);

7. ellipse(60,60,100,100);

Page 19: Processing Tutorial

003:三個小圓 1. smooth();

2. background(255);

3. noStroke();

4. // Bright red

5. fill(255,0,0);

6. ellipse(20,20,16,16);

7. // Dark red

8. fill(127,0,0);

9. ellipse(40,20,16,16);

10. // Pink (pale red)

11. fill(255,200,200);

12. ellipse(60,20,16,16);

Page 20: Processing Tutorial

Processing Color Selector

Page 21: Processing Tutorial

挑戰

• 改用for loop 產生一排五個圓

• 連顏色一起random?

– random(255);

Page 22: Processing Tutorial

004:透明度

1. // Example 1-4: Alpha Transparency

2. size(200,200);

3. background(0);

4. noStroke();

5. // No fourth argument means 100% opacity.

6. fill(0,0,255);

7. rect(0,0,100,200);

8. // 255 means 100% opacity.

9. fill(255,0,0,255);

10. rect(0,0,200,40);

11. // 75% opacity.

12. fill(255,0,0,191);

13. rect(0,50,200,40); //以下省略

Page 23: Processing Tutorial

005:小機器人

Page 24: Processing Tutorial

006:滑鼠座標

• mouseX:滑鼠X座標

• mouseY:滑鼠Y座標

Page 25: Processing Tutorial

007:滑鼠點擊mousePressed

Page 26: Processing Tutorial

008:鍵盤按鍵事件

• keyPressed / key ==‘?’

Page 27: Processing Tutorial

15_1 載入圖片

• 圖檔要放在 /data 中

Page 28: Processing Tutorial

15_3 隨機顯示圖片

• 隨機指定影像陣列之 index 達到隨機換圖的效果

• 挑戰!如何改為依序顯示?(i++ / i--)

Page 29: Processing Tutorial

Clock:文字與系統時間

• 取得系統時間

• 根據XY座標改變顏色


Recommended