• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      手機(jī)游戲按鈕交互實(shí)現(xiàn)

      2015-06-24 13:16:59李姝博
      軟件導(dǎo)刊 2015年6期
      關(guān)鍵詞:接口交互手機(jī)游戲

      摘要:手機(jī)是當(dāng)今使用率很高的移動(dòng)設(shè)備,開發(fā)手機(jī)游戲離不開交互響應(yīng)。針對(duì)按鈕的交互介紹了兩種事件響應(yīng)以及它們的區(qū)別,對(duì)如何實(shí)現(xiàn)按鈕的交互響應(yīng)、如何實(shí)現(xiàn)表單按鈕的交互響應(yīng)、不同的案例應(yīng)采用何種交互方式進(jìn)行了研究。

      關(guān)鍵詞:手機(jī)游戲;事件響應(yīng);交互;綁定;接口

      DOIDOI:10.11907/rjdk.151153

      中圖分類號(hào):TP302

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):16727800(2015)006005902

      作者簡(jiǎn)介作者簡(jiǎn)介:李姝博(1981-),女,遼寧阜新人,碩士,阜新高等專科學(xué)校計(jì)算機(jī)信息技術(shù)系講師,研究方向?yàn)橛螒蜍浖?、?jì)算機(jī)多媒體技術(shù)。

      1 按鈕的事件響應(yīng)

      通過實(shí)例來(lái)說(shuō)明按鈕事件響應(yīng)的實(shí)現(xiàn)方法:制作輸入短信的界面,實(shí)現(xiàn)編輯短信的功能,并設(shè)有刪除按鈕,即單擊刪除按鈕實(shí)現(xiàn)刪除的功能。

      首先制作界面,在界面上添加對(duì)象,應(yīng)該注意的是按鈕不能直接放到界面上,要先將其放到TextBox的對(duì)象tb上,然后通過tb放到界面上,這時(shí)單擊按鈕沒有任何作用。此時(shí)按鈕還不能做事情,也就是說(shuō)不能響應(yīng)事件,只有具有一定事件響應(yīng)功能的命令按鈕才有實(shí)際作用。

      1.1 實(shí)現(xiàn)事件監(jiān)聽機(jī)制

      所謂實(shí)現(xiàn)事件監(jiān)聽機(jī)制就是讓按鈕所在的類實(shí)現(xiàn)事件響應(yīng)[1],也就是在該類上添加一個(gè)“耳朵”,能監(jiān)聽到有人單擊按鈕。這個(gè)“耳朵”就是按鈕的事件響應(yīng)接口,即CommandListener。具體做法:編寫一個(gè)類去實(shí)現(xiàn)這個(gè)監(jiān)聽接口,即在這個(gè)類上加一個(gè)“耳朵”:

      public class 類名 implements CommandListener{}

      實(shí)現(xiàn)事件響應(yīng)接口還有一個(gè)簡(jiǎn)單的做法:眾所周知,Java支持一個(gè)類單重繼承并實(shí)現(xiàn)多個(gè)接口,所以不必重新編寫類,只要在原來(lái)類的基礎(chǔ)上實(shí)現(xiàn)接口就可以了,即在原來(lái)類頭后面直接加上 implements CommandListener即可。

      1.2 接口功能設(shè)計(jì)

      接口是抽象的,要想實(shí)現(xiàn)接口功能,還得仰仗接口中的方法,因此需要將接口中的方法重寫,也就是要把接口中所有的函數(shù)都重新寫到接口的類里。CommandListener接口中有一個(gè)CommandAction(Command c ,Displayable d)函數(shù),需要將這個(gè)函數(shù)寫到上面的類中,實(shí)際操作中不需要我們?nèi)?,?dāng)完成上一步添加完接口之后,在類頭會(huì)出現(xiàn)錯(cuò)誤信息,單擊錯(cuò)誤信息之后會(huì)顯示“添加未實(shí)現(xiàn)的方法”,單擊即可把CommandAction添加到類中,如圖1所示。

      在這個(gè)函數(shù)中有兩個(gè)參數(shù),第一個(gè)參數(shù)表示發(fā)出事件的Command按鈕,就是用戶按了哪個(gè)按鈕,第二個(gè)參數(shù)表示發(fā)出事件的Displayable對(duì)象。Command是依附于Displayable的,因此,在事件處理類中,不但可以處理事件,還可以知道事件是由哪個(gè)Command按鈕發(fā)出,以及該Command按鈕所在的Displayable對(duì)象。

      1.3 將事件源和事件響應(yīng)對(duì)象綁定

      事件編寫完后,只是能夠處理事件,并不能保證Command按鈕單擊后會(huì)觸發(fā)事件,因此還需要將Command按鈕和事件處理類(CommandListener)進(jìn)行綁定。由于Command是依附于Displayable的,因此,綁定工作可由Displayable的對(duì)象tb來(lái)完成,即tb.setCommandListener(this)。

      1.4 具體事件編寫

      前3步都完成之后,該程序應(yīng)該可以和用戶進(jìn)行交互了。但是交互的具體內(nèi)容是什么,用戶具體要讓程序?qū)崿F(xiàn)什么功能,去完成什么任務(wù),是本步驟要實(shí)現(xiàn)的。單擊刪除按鈕實(shí)現(xiàn)刪除功能,完成這個(gè)功能的語(yǔ)句寫到哪里?前面已經(jīng)提到,需要寫到CommandAction(Command c ,Displayable d)函數(shù)中,具體代碼如下[2]:

      這就是按鈕事件響應(yīng)的全過程,只要是單擊按鈕實(shí)現(xiàn)功能就需要完成以上4個(gè)步驟。對(duì)于不同案例,前3個(gè)步驟基本不變,變化的只是具體事件。

      2 表單元素事件響應(yīng)

      表單的事件響應(yīng)有兩種:表單元素按鈕事件響應(yīng),即ItemCommand事件;表單元素狀態(tài)改變事件響應(yīng),即ItemState事件。

      2.1 ItemCommand事件響應(yīng)

      同樣,本文通過實(shí)例來(lái)說(shuō)明ItemCommand事件響應(yīng)實(shí)現(xiàn)方法。

      制作一個(gè)QQ登陸界面,QQ號(hào)文本框被激活后,選擇左下角的“清除內(nèi)容”按鈕,就能在QQ號(hào)框中清除光標(biāo)前的字符;密碼文本框被激活之后,同樣選擇右下角的“清除內(nèi)容”按鈕,就能在密碼框中清除光標(biāo)前的字符。同樣是按鈕的交互,該案例能不能用上面的按鈕事件響應(yīng)方法去實(shí)現(xiàn)呢?答案是否定的,因?yàn)楸纠?,雖然有一個(gè)命令按鈕“清除內(nèi)容”,但是該命令按鈕所作的事情和具體的文本框有關(guān),通過CommandListener雖然可以知道是哪一個(gè)命令按鈕被選擇,卻無(wú)法知道當(dāng)前光標(biāo)在哪個(gè)文本框內(nèi),也就無(wú)法確定到底要清除誰(shuí)的內(nèi)容。

      由此可見,該實(shí)例可以使用表單元素的事件響應(yīng),通過它可以進(jìn)行此處的事件響應(yīng)處理。具體實(shí)現(xiàn)和按鈕的事件響應(yīng)很類似,也要經(jīng)過四步,這里做簡(jiǎn)要敘述,重點(diǎn)介紹兩者的區(qū)別。

      2.1.1 寫事件處理類

      實(shí)現(xiàn)Javax.microedition.lcdui. ItemCommandListener;(簡(jiǎn)單的方法是直接在類頭的后面加上兩個(gè)單詞:Implements ItemCOmmandListener)。

      2.1.2 重寫ItemCommandListener中的CommandAction方法

      CommandAction(Command c ,item i),特別地,前面分析的按鈕事件響應(yīng)中該函數(shù)的第二個(gè)參數(shù)是Displayable,而在此是item,這就是主要的區(qū)別,也就是通過這個(gè)函數(shù)能解決前面所說(shuō)的按鈕事件響應(yīng)不能解決的問題,即:“通過CommandListener雖然可以知道是哪一個(gè)命令按鈕被選擇,卻無(wú)法知道當(dāng)前光標(biāo)在哪個(gè)文本框內(nèi),也就無(wú)法確定到底要清除誰(shuí)的內(nèi)容”,所以該案例必須用表單的事件響應(yīng)去解決。

      2.1.3 將事件源和事件響應(yīng)對(duì)象綁定

      在本例中即為TextField和ItemCommandListener綁定。具體做法:

      tf1. setItemCommandListener(this)

      tf2. setItemCommandListener(this)

      因?yàn)檫@里有兩個(gè)文本框,所以綁定時(shí)要注意一定是兩個(gè)TextField的對(duì)象分別和該類綁定。

      2.1.4 具體事件的實(shí)現(xiàn)

      值得注意的是,CommandAction(Command cmd ,item item)方法中的兩個(gè)參數(shù)是做了修改的,即變?yōu)镃ommandAction(Command c ,item i)。

      這就是表單按鈕的事件響應(yīng)實(shí)現(xiàn)方法,與按鈕的事件響應(yīng)的主要區(qū)別在于第二步,也正是因?yàn)榈诙街泻瘮?shù)的參數(shù)不同,實(shí)現(xiàn)功能也就不同。

      2.2 ItemState事件

      ItemState事件相當(dāng)于在Item的狀態(tài)發(fā)生改變時(shí)發(fā)出命令。例如,制作一個(gè)短信發(fā)送界面,在界面中,首先出現(xiàn)的是短信編輯界面,界面左下方有一個(gè)“返回”按鈕,點(diǎn)擊后能夠返回到歡迎界面;當(dāng)在文本框中輸入短信后,左下方的按鈕自動(dòng)變?yōu)椤扒宄谋尽?,可以將光?biāo)左邊的文本清除。這里的“返回”按鈕變?yōu)椤扒宄谋尽卑粹o就是應(yīng)用ItemState事件來(lái)實(shí)現(xiàn)的。簡(jiǎn)單做法如下。

      2.2.1 寫事件處理類

      3 結(jié)語(yǔ)

      無(wú)論是怎樣的事件響應(yīng),都應(yīng)該先制作界面,然后按步驟去實(shí)現(xiàn)按鈕的交互。制作界面應(yīng)注意的是:按鈕事件響應(yīng)中的按鈕是放在Displayable類上的,而表單按鈕的事件響應(yīng)按鈕一定要放到表單(Item)上[3],綁定也是有所區(qū)別的。用戶在應(yīng)用這兩種事件響應(yīng)時(shí)應(yīng)多加注意,以免達(dá)不到理想效果。

      參考文獻(xiàn):

      [1] 高宇航,王琨,袁世雄.注重用戶體驗(yàn)的觸屏手機(jī)交互設(shè)計(jì)研究[J].黑龍江科學(xué),2014(4):261262.

      [2] 郭克華.Java ME 移動(dòng)開發(fā)實(shí)例精講[M].北京:清華大學(xué)出版社,2011.

      [3] 陳燕.基于Android平臺(tái)的UX手機(jī)交互主題的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2014(5):6063.

      責(zé)任編輯(責(zé)任編輯:杜能鋼)

      猜你喜歡
      接口交互手機(jī)游戲
      讓手機(jī)游戲成為傳統(tǒng)文化的傳播新渠道
      手機(jī)游戲?qū)Υ髮W(xué)生的負(fù)面影響及對(duì)策分析
      某電站工程設(shè)計(jì)管理與施工、質(zhì)量控制接口關(guān)系研究
      脫硝數(shù)據(jù)傳輸系統(tǒng)遠(yuǎn)程無(wú)線監(jiān)控技術(shù)的研發(fā)與應(yīng)用
      中文信息(2016年10期)2016-12-12 12:56:55
      西門子SPPA—T3000在委內(nèi)瑞拉燃機(jī)電廠中的應(yīng)用與接口
      淺析色彩在人機(jī)交互界面中的作用
      基于圖形用戶界面的多點(diǎn)觸控交互技術(shù)綜述
      虛擬現(xiàn)實(shí)技術(shù)概論
      科技視界(2016年11期)2016-05-23 11:28:14
      中俄網(wǎng)絡(luò)語(yǔ)言編碼接口問題的研究
      科技視界(2016年3期)2016-02-26 10:14:32
      關(guān)于信息化教育模式的大學(xué)教育變革的探討
      科技視界(2016年5期)2016-02-22 12:54:54
      余姚市| 胶州市| 灵寿县| 南皮县| 阿合奇县| 泌阳县| 陇川县| 申扎县| 桑植县| 四子王旗| 盐边县| 临泽县| 日照市| 揭东县| 三穗县| 郯城县| 察雅县| 博白县| 永春县| 禄丰县| 武川县| 白城市| 思南县| 乐亭县| 涞水县| 桂平市| 双城市| 电白县| 博白县| 永春县| 太仆寺旗| 雷州市| 报价| 斗六市| 甘孜| 黎平县| 万宁市| 谢通门县| 丰台区| 昌江| 垦利县|