• 沒有找到結果。

感應器的運用

在文檔中 中華大學 資訊工程學系 (頁 33-38)

3.3 主要功能演算法

3.3.3 感應器的運用

取得 SensorManager 物件:透過 SensorManager 物件方能取得各種感應器 的資訊,而要取得該物件必須呼叫 Context 的 getSystemService(),並指定欲 取得的系統服務名稱。

實作 SensorEventListener:實作 SensorEventListener 的

onSensorChanged(),當感應器的值改變時會自動呼叫此方法,並傳入 SensorEvent 物件,透過該物件可以取得產生事件的感應器。

34

為指定的感應器註冊 SensorEventListener:呼叫 SensorManager 的 registerListener() 替指定的感應器註冊 SensorEventListener,當感應器的值 變化時,SensorEventListener 的 onSensorChanged() 才會自動被呼叫。

有了以上的條件之後就產生了我們需要的感應器,可以藉由實體手機感測到 不同的 X,Y,Z 軸的值做出相對應的遊戲內的動作。

當 X,Y,Z 軸到達一定程度的變化量時就會產生擲骰子的動作效果。

35

當我們需要選擇是或否的抉擇動作時,我們設定成「往左傾斜」為 YES 動 作,「往右傾斜」為 NO 動作,或是我們進入了銀行需要做出存款提款的動作時 設定時「往左傾斜」為存款動作,「往右傾斜」為提款動作。

當我們需要離開當前這個畫面的時候可以使用「往下傾斜」的動作來離開當 前畫面。

36

肆.主要成果

影片 demo

使用到的手機型號:Butterfly(X920d)

Sony Ericsson Ray(ST18i) Samsung Galasy S2(GT-I9100)

伍.問題與解決方法

Q:如何產生繪圖?

A:起初是用 view 來產生繪圖,後來面臨到畫面更新問題,而找到 SurfaceView 有 thread 可以刷新畫面。

Q:藍芽連線資料傳輸問題 ?

A:由於起初資料型態是 int 的,藍芽傳輸的資料型態只能用 byte 去做傳輸,但 只有字串才可以使用 getbyte(),所以我們就先把資料型態 int 的資料轉成 字串再使用 getbyte()來去達到資料傳輸出,而資料輸入時 getbyte()先轉 成字串,再轉回 int。

Q:蓋房子時如何判斷該格子是否可以蓋房子?

A:當人物每次移動時,需要判斷人物移動格的上下左右是否有可以蓋的 房子,而我們利用代碼的不一樣來區分土地等級,這樣有可以判斷該格子 是否可以蓋房子。

Q:如何增加遊戲的趣味性?

A:利用事件發生的機率來使玩家對隨機的事件產生意外的衝擊,進而增加趣 味性。

37

陸.專題製作心得

經過這次的專題製作發現不僅能培養學生發現問題、解決問題的能力,也 能培養溝通協調與團隊合作的能力,例如尋找研究問題、瞭解研究方法、收集資 料的方法、資料整理與分析、工作分配、時間管理、專題製作格式的認識,簡報 的技巧等。

因為我們是初次作專題製作研究,起初是先觀摩學長們的歷屆作品,讓我們 有了初步具體的概念以及有關研究法的書面資料,較能掌握專題的架構與格式,

以及專題參考資料的寫法。另外在製作的過程中,學生需要具備基本的電腦文書 處理能力,例如使用 WORD 排版、表格的呈現與繪製、PPT 的設計等,這些都 是專題製作的研究之一。

在製作專題過程中,雖然辛苦且投入了很多時間,尤其在這之中修改了不少 次,雖然覺得很挫折,但大家還是非常努力地完成。藉由這次的學習經驗,讓我 們體會到團結、訓練口才及表達能力的重要性,相信這對畢業後的我們會是一大 幫助,很感謝能有這次機會讓我們得知如何去做好一個報告及上台發表,使我們 受益良多。

柒.結論與未來展望

一開始從無到有,任何資訊都不大了解,後來冷靜下來跑去詢問了去年 專題製作的學長們,在他們給予的資訊與老師的教導有方之下,終於有了些許頭 緒,清楚的知道我們這次該做的主題與方向,進而再去摸索需要增加的項目和功 能,在某次老師的建議之下「no-touch」的概念就此衍生出來了。

只要有平衡的感應裝置,「no-touch」就可應用在此裝置上面,而在「no-touch」

的概念之下,未來很多科技也許可以利用此概念,來創造出勝於聲控的控制指令,

例如:開車不須碰觸方向盤,也許可利用3D座椅來控制車子前進的方向與速度,

進而減少肢殘人士開車方面的困擾與負擔。

相信在未來的科技進步之下,「no-touch」一定可以帶給人們更多的便利。

在文檔中 中華大學 資訊工程學系 (頁 33-38)

相關文件