|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。条记要处置初级事件大概举行屏幕绘图,那末我们必需要利用Canvas。一样平常要编写手机游戏也是必要Canvas来
制造,它供应了处置键盘,手写笔和游戏的图形处置功效。
由于Canvas由Displayable承继来的,以是具有addCommadn()办法,也可一和Commadn其他属性共同组
成初级事件处置。Screen于Canvas有不异的特征,可是Screen同意开辟职员自界说监听器,可是Canvas不
同意。
初级事件处置一样平常分两种,一种来此键盘,一种就是手写笔。
起首我们来看看处置键盘的代码
/**
*@authorYouLi
*
*CopyRight(C)2005
*/
importjavax.microedition.midlet.*;
importjavax.microedition.lcdui.*;
publicclassLLEventMIDletextendsMIDlet{
/**
*
*/
privateDisplaydisplay;
publicLLEventMIDlet(){
display=Display.getDisplay(this);
}
/*(非Javadoc)
*@seejavax.microedition.midlet.MIDlet#startApp()
*/
protectedvoidstartApp()throwsMIDletStateChangeException{
//TODO主动天生办法存根
MyCanvasmc=newMyCanvas();
display.setCurrent(mc);
}
/*(非Javadoc)
*@seejavax.microedition.midlet.MIDlet#pauseApp()
*/
protectedvoidpauseApp(){
//TODO主动天生办法存根
}
/*(非Javadoc)
*@seejavax.microedition.midlet.MIDlet#destroyApp(boolean)
*/
protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{
//TODO主动天生办法存根
}
classMyCanvasextendsCanvas{
Stringaction="";
publicvoidpaint(Graphicsg){
//扫除屏幕
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
//反省是不是撑持长按键举动
if(hasRepeatEvents()){
g.drawString("Repeat",10,10,0);
}else{
g.drawString("NonRepeat",10,10,0);
}
g.drawString(action,10,20,0);
}
protectedvoidkeyPressed(intkeyCode){
action="KP:"+(char)keyCode;
repaint();
}
protectedvoidkeyReleased(intkeyCode){
action="KR:"+(char)keyCode;
repaint();
}
protectedvoidkeyRepeated(intkeyCode){
action="KRe:"+(char)keyCode;
repaint();
}
}
}
这个程序将会呼应手机的键盘举动,然后将点击的键盘所对应的键值显现出来。从这个程序中我们可
以发明当Canvas子类成为正在呼应的画面的时分只需点击键盘就会激发keyPressed()办法。松开的时分会
呼应keyReleased()办法。而撑持长按键呼应的办法则是keyRepeated()办法(这个办法并非一切的呆板
都撑持,例如说N记的6110我之前用的时分就没有这个呼应发生。以是必需要判别一下。而判别是不是撑持
长按键呼应的办法是hasRepeatEvents())。KEY_NUM0~~KEY_NUM9,和KEY_STAR、KEY_POUND是一切呆板
都撑持的常数,而依据设备的分歧也会有分歧的其他对应值。为了程序可以跨平台(呵呵,这但是java的
最年夜上风之一哦),在开辟的时分不到特别情形最好只利用这几个惯例键盘呼应。固然,为了游戏计划的
便利,在MIDP中Canvas界说了几个Game键盘代码:UP
,DOWN,LEFT,RIGHT,FIRE,GAME_A,GAME_B,GAME_C,GAME_D。同时界说了getGameAction()和getKeyCode()
两个办法。来处置相干的举动转化。
手写笔把持事务处置,因为俺没有相干设备也没有下摹拟器,以是就没有细心的研讨,也许的看了一
下几个对照主要的工具。手写笔点击屏幕,激发pointerPressed()办法,并传进点击点在屏幕上的x,y坐
标。pointerReleased()则在手写笔分开屏幕的时分呼应。而pointerDragged()则是手写笔在屏幕上的移
动时呼应的办法,同时会发生响应的x,y坐标。假如我们开辟程序必要跨平台,撑持在呼应手写笔事件处
理之前必需要利用hasPointerEvents()来判别设备是不是撑持手写笔。hasPointerMotionEvents()则会判别
是不是撑持手写笔在屏幕上挪动发生pointerDragged()办法。
固然,另有画图处置和呼唤处置。。。其实是怕本人一下下承受不了那末多观点。。。呵呵,筹办
歇息一下。这几天好好的把本人头几天看的工具再看看。温故而知新嘛^_^
============================================
最初想说说,由于这段工夫看我写这个条记的伴侣也良多,可是老是没有人回应。让我以为忧郁,我
只是但愿能起到一个举一反三的感化,但愿更多的兄弟一同来进修,配合进步,也来帮帮小弟一下。。呵
呵。。。但愿人人留个言哦。。^_^
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之! |
|