⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 基于nokia手机的移动游戏开发(2).htm

📁 这是很好的J2ME实例教程,很适合初学者!
💻 HTM
📖 第 1 页 / 共 2 页
字号:
.center02 A:visited {
	COLOR: #194e00; TEXT-DECORATION: none
}
.center02 A:hover {
	COLOR: #194e00; TEXT-DECORATION: underline
}
</STYLE>

<TABLE cellSpacing=0 cellPadding=0 width=760 align=center bgColor=#f3f3f3 
border=0 valign="top">
  <TBODY>
  <TR class=center01>
    <TD style="PADDING-LEFT: 10px; PADDING-TOP: 10px" width=488><A 
      href="http://act.it.sohu.com/book/index.php">连载</A> &gt; <A 
      href="http://act.it.sohu.com/book/slist.php?class1=6">程序设计</A> &gt; <A 
      href="http://act.it.sohu.com/book/slist.php?class2=7">Java</A> &gt; <A 
      href="http://act.it.sohu.com/book/serialize.php?id=461">Java手机游戏开发专辑</A> 
    </TD>
    <TD style="PADDING-LEFT: 10px; PADDING-TOP: 10px" width=280>
      <DIV align=center><FONT color=#0000ff><A 
      href="http://act.it.sohu.com/book/chapter.php?id=461&amp;volume=4&amp;chapter=7">上一页</A></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <FONT color=#0000ff><A 
      href="http://act.it.sohu.com/book/serialize.php?id=461">回书目</A></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <FONT color=#0000ff><A 
      href="http://act.it.sohu.com/book/chapter.php?id=461&amp;volume=4&amp;chapter=9">下一页</A></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </DIV></TD></TR>
  <TR class=center01>
    <TD style="PADDING-LEFT: 10px; PADDING-TOP: 10px" align=middle 
    colSpan=2>&nbsp;</TD></TR>
  <TBODY>
  <TR>
    <TD align=middle colSpan=2><BR>
      <DIV style="FONT-SIZE: 18pt; COLOR: #990000; FONT-FAMILY: 楷体_GB2312" 
      align=center><B>Java手机游戏开发实例</B></DIV><BR>
      <DIV style="FONT-SIZE: 18px; COLOR: #990000; FONT-FAMILY: ; 宋体: " 
      align=center>基于Nokia手机的移动游戏开发(2)</DIV>
      <DIV 
      style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10.5pt; COLOR: black; LINE-HEIGHT: 180%" 
      align=left><BR>&nbsp;&nbsp;&nbsp;&nbsp;
      <P> 3 
      游戏外壳和游戏动作<BR><BR>  Nokia新型号手机支持的游戏外壳可能会影响游戏动作。Nokia第一款可以使用游戏外壳的手机是Nokia 
      3510i(参见图2)。如果手机支持游戏外壳,设备的游戏菜单中会有一个设置对话框,允许用户设置游戏外壳上的按键对应的游戏动作。用户必须设置这个按键映射,否则设计使用普通键盘布局的游戏就不能运行。<BR></P>
      <P align=center><BR><IMG src="基于Nokia手机的移动游戏开发(2).files/1101781939-1.jpg" 
      align=baseline border=0><IMG 
      src="基于Nokia手机的移动游戏开发(2).files/1101781944-2.jpg" align=baseline 
      border=0><BR>图2、 Nokia 3510i (左图)原装外壳 (右图)游戏外壳<BR></P>
      <P><BR>  4 
      同时按键<BR><BR>  许多Nokia手机(例如,诺基亚6310i、3410、7210)不支持同时按下多键(也就是说,如果你按住Up键,那么MIDlet就不会知道你是否你按下Fire键)。虽然Nokia 
      7650支持同时按下多键(例如同时按住"1"和"3"键),但是操纵杆键物理上是无法同时又向左按又向上按的,所以在游戏中不可能有斜向的运动,并且在它被向上、向下、向左或者向右按下的时候是不能记录一个"点击"的。<BR><BR>  5 
      键名:避免硬编码你自己的文本字符串<BR><BR>  避免把硬编码文本和你的MIDlet中的键盘代码相关联。Canvas类提供了一个返回每个键盘代码关联的文本名称的方法:<BR><BR>public 
      static String getKeyName(int 
      keyCode);<BR><BR>  现在的Nokia设备的问题是这个方法始终返回一个英语字符串,而不是根据用户的语言选择。在未来的Nokia设备中,这个字符串可能会基于用户的语言选择。如果你的目的是开发可移植的游戏,那么必须记住getKeyName在不同的Nokia 
      MIDP设备中返回不同的值。<BR><BR>  6 
      使用全屏画布(FullCanvas)功能键<BR><BR>  一个基于全屏画布(FullCanvas)游戏屏幕的功能键只能用于从游戏屏幕退出到不同的屏幕状态。带有FullCanvas类的Nokia用户界面应用编程接口明确地提供一个全屏图形区域用于绘图,可用于许多类型的游戏。<BR><BR>  继承于Nokia用户界面应用编程接口类FullCanvas的游戏屏幕将不会把功能键的键盘代码(即KEY_SOFTKEY1、KEY_SOFTKEY2,KEY_SOFTKEY3)用做游戏相关的动作,除非是用于从游戏屏幕返回到菜单中。<BR><BR>  如果一个MIDlet应用程序需要使用功能键命令,那么你必须使用默认的MIDP 
      Canvas类,特别是如果你的MIDlet需要使用标签功能键的时候。当你使用FullCanvas的时候,你不应该提供你自己的功能键标签。<BR><BR>  7 
      MIDlet国际化<BR><BR>  你有可能需要把你的MIDlet国际化--例如,用于不同的地区和语言。MIDP的系统属性"microedition.locale"定义了设备的当前区域。它的值可以使用System.getProperty.方法取得。MIDP规范允许在这个系统属性中使用一个空值。然而,在Nokia的MIDP实现中是不允许空值的。CLDC的系统属性"microedition.encoding"定义了设备的默认字符编码。它的值可以使用System.getProperty方法取得。<BR>想要了解更多MIDlet本地化问题,可以参阅《Writing 
      World Aware J2ME 
      Applications》http://wireless.java.sun.com/midp/ttips/worldaware/ 
      的资源包。目前在MIDP中还没有一个标准机制用来处理资源包。这个文档使用一种简单的途径把用户界面文本从主程序中分离出来。它在Resource 
      类(二、9节)中被处理。<BR><BR>  把国际化特色加入一个MIDlet非常重要,但是这可能会增加你的MIDlet的大小。如果MIDlet大小对于某种特定MIDP设备来说是一个问题,那么你可能希望产生好几个不同编译版本的MIDlet。每个版本可以为一个或多个区域、语言本地化。<BR><BR>  8 
      设备特性:声音、振动和灯光<BR><BR>  如果你使用Nokia用户界面应用编程接口类Sound或DeviceControl(振动、灯光),你应该提供一个Options或Settings菜单和一个设置编辑器,来允许最终用户启动或者取消这样的设置。<BR><BR>  然而,如果你使用Nokia用户界面应用编程接口类Sound或DeviceControl(振动、灯光)并且通过设置JAD参数&lt;&gt;来把你的游戏安装到Games菜单(见一、11节),Games菜单中已经提供的设置允许最终用户启动或者取消这些特性。因此应用程序没有必要自己创建这样一个特性。除Nokia 
      UI API技术文档之外,你还可以参考《Nokia UI API Programmer ' s 
      Guide》,它能提供很多有用的信息。<BR><BR>  9 设备无关性<BR><BR>  Nokia 
      MIDP设备可能在屏幕尺寸、键盘布局和可用API等方面不同。为了创建可移植的游戏,在设计游戏时,这些差异应当被考虑在内。<BR><BR>  应用程序应该向系统询问屏幕的尺寸,并且避免绘制屏幕内容的时候硬编码坐标。可以使用Canvas类的getHeight和getWidth方法来达到这个目的。<BR><BR>  不同的Nokia 
      MIDP设备中应用编程接口变化很大,开发者应该检查所要开发的设备平台上的应用编程接口。这是可以做到的,振动就是一个很好的例子。<BR><BR></P>
      <TABLE width="100%" bgColor=#ffffff>
        <TBODY>
        <TR>
          <TD>
            <P>try{<BR>Class.forName("com.nokia.mid.ui.DeviceControl");<BR>}<BR>catch(ClassNotFoundException 
            e){<BR>//Can't use vibration because the API<BR>//is not supported 
            in the device<BR>}</P></TD></TR></TBODY></TABLE>
      <P><BR>  使用继承于默认MIDP 
      Canvas类的游戏屏幕代替厂商特定的FullCanvas类,这有助于提高你的MIDlet的可移植性;然而,那就不可能实现全屏幕了。<BR><BR>  10 
      最优化<BR><BR>  MIDP设备的内存非常有限,所以使用内存时应格外小心。对于游戏来说一个很重要的限制就是有限的堆内存(heap 
      memory):为了节省堆内存,对象引用不再需要被设置为"null",以便这些对象可被垃圾-收集(garbage-collected)。彩屏手机需要更多的内存来处理应用程序中的位图,这与更大的屏幕位深度和相关的内部数据结构有关。因此,虽然一个应用程序可能编写来使用在一个黑白屏幕的手机上,但是在彩屏手机上使用时,它可能消耗更多动态内存:就Nokia 
      7210来说,它显示一幅图片时比Nokia 
      6310i多用16倍的内存。<BR>开发者应该在设计应用程序时考虑到这个因素,应该把同时加载的图片数降到最少的程度。例如,闪动屏幕图像应该能够在游戏图形图象创建之前被垃圾收集(通过设置所有到图像对象的引用为"null")。<BR><BR>  11 
      安装<BR><BR>  默认情况下MIDlet被安装到Nokia设备的Applications菜单下。如果设备有Games菜单的话,MIDlet还可以通过设置MIDlet的.jad文件中的Nokia-MIDlet-Category:Game参数来安装到这个菜单下。</P><BR><BR></DIV></TD></TR>
  <TR>
    <TD class=center01>
      <DIV align=center>来源:天极网 作者:
      <DIV></DIV></DIV></TD>
    <TD class=center01 width=280>
      <DIV align=center><FONT color=#0000ff><A 
      href="http://act.it.sohu.com/book/chapter.php?id=461&amp;volume=4&amp;chapter=7">上一页</A></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <FONT color=#0000ff><A 
      href="http://act.it.sohu.com/book/serialize.php?id=461">回书目</A></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <FONT color=#0000ff><A 
      href="http://act.it.sohu.com/book/chapter.php?id=461&amp;volume=4&amp;chapter=9">下一页</A></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </DIV></TD></TR></TBODY></TABLE>
<TABLE>
  <TBODY>
  <TR>
    <TD width=760>
      <TABLE height=10 cellSpacing=0 cellPadding=0 width=760 border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE><!------------ 评论 ---------------->
      <TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
        <TBODY>
        <TR>
          <TD><IFRAME id=vs src="基于Nokia手机的移动游戏开发(2).files/comment_list1.htm" 
            frameBorder=0 width="100%" 
      scrolling=no></IFRAME></TD></TR></TBODY></TABLE><BR>
      <SCRIPT language=javascript>function CheckNetwordForm(theForm){        if("" == theForm.content.value)        {                alert("写两句吧~~");                theForm.content.focus();                return false;        }        var index;        for(index=0;index<theForm.content.value.length;index++)        {                if(" " != theForm.content.value.charAt(index))                        break;        }        if(index == theForm.content.value.length) {                alert("写两句吧~~");                theForm.content.focus();                return false;        }        if (theForm.content.value.length>100){                alert("评论字数不能超过100哦");                theForm.content.focus();                return false;        }        return true;}</SCRIPT>
<!------------------ 评论 --------------->
      <FORM name=netword onsubmit="javascript: return CheckNetwordForm(this);" 
      action=insertnetword.php method=post>
      <TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
        <TBODY>
        <TR>
          <TD class=text6 height=25>&nbsp;给此书打分:<A name=1></A> <SELECT 
            name=score> <OPTION value=5 selected>非常好</OPTION> <OPTION 
              value=4>还凑合</OPTION> <OPTION value=3>一般吧</OPTION> <OPTION 
              value=2>不太行</OPTION> <OPTION value=1>太差了</OPTION></SELECT> &nbsp; 
            用户名: <INPUT id=id type=hidden value=461 name=id> <INPUT type=hidden 
            value=/book/chapter.php?id=461&amp;volume=4&amp;chapter=8 
            name=backurl> <INPUT id=username maxLength=20 name=username> <FONT 
            color=#666666>*评论字数请控制在一百字以内</FONT> </TD></TR></TBODY></TABLE><BR>&nbsp;<TEXTAREA id=description name=content rows=4 wrap=off cols=80></TEXTAREA> 
<INPUT type=submit value=提交 name=Submit> 
</FORM></TD></TR></TBODY></TABLE></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
  <TBODY>
  <TR>
    <TD width=1003 background=基于Nokia手机的移动游戏开发(2).files/t_bj01.gif 
      height=9><IMG height=1 src="" width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 bgColor=#ffffff border=0>
  <TBODY>
  <TR>
    <TD>
      <HR width=760 noShade SIZE=1>
    </TD></TR>
  <TR>
    <TD align=middle><A class=black href="http://www.chinaren.com/" 
      target=_blank>ChinaRen</A> - <A class=black 
      href="http://big5.www.sohu.com/" target=_blank>繁体版</A> - <A class=black 
      href="http://hr.sohu.com/hrm.html" target=_blank>搜狐招聘</A> - <A class=black 
      href="http://add.sohu.com/" target=_blank>网站登录</A> - <A class=black 
      href="http://help.sohu.com/" target=_blank>帮助中心</A> - <A class=black 
      href="http://book.news.sohu.com/onClick=this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.sohu.com');return" 
      target=_blank false;>设置首页</A> - <A class=black 
      href="http://adinfo.sohu.com/" target=_blank>广告服务</A> - <A class=black 
      href="http://www.sohu.com/about/lianxi.htm" target=_blank>联系方式</A> - <A 
      class=black href="http://www.sohu.com/about/privacy.html" 
      target=_blank>保护隐私权</A> - <A class=black href="http://www.sohu.com/about/" 
      target=_blank>About SOHU</A> - <A class=black 
      href="http://www.sohu.com/about/" target=_blank>公司介绍</A><BR><SPAN 
      class=eng>Copyright &copy; 2004 Sohu.com Inc. All rights reserved. 搜狐公司 
      版权所有</SPAN> </TD></TR></TBODY></TABLE></CENTER><!-- START NNR Site Census V5.1 --><!-- COPYRIGHT 2004 Nielsen // Netratings -->
<SCRIPT language=JavaScript type=text/javascript>
<!--
	var _rsCI="cn-sohu";
	var _rsCG="0";
	var _rsDT=0;
	var _rsDU=0; 
	var _rsDO=0; 
	var _rsX6=0;  
	var _rsSI=escape(window.location);
	var _rsLP=location.protocol.indexOf('https')>-1?'https:':'http:';
	var _rsRP=escape(document.referrer);
	var _rsND=_rsLP+'//secure-cn.imrworldwide.com/';

	if (parseInt(navigator.appVersion)>=4)
	{
		var _rsRD=(new Date()).getTime();
		var _rsSE=1;	
		var _rsSV="";
		var _rsSM=0.01;
		_rsCL='<scr'+'ipt language="JavaScript" type="text/javascript" src="'+_rsND+'v51.js"><\/scr'+'ipt>';
	}
	else
	{
		_rsCL='<img src="'+_rsND+'cgi-bin/m?ci='+_rsCI+'&cg='+_rsCG+'&si='+_rsSI+'&rp='+_rsRP+'">';
	}
	document.write(_rsCL);
//-->
</SCRIPT>
<NOSCRIPT><IMG alt="" src="基于Nokia手机的移动游戏开发(2).files/m.gif"> </NOSCRIPT><!-- END NNR Site Census V5.1 -->
<SCRIPT language=JavaScript 
src="基于Nokia手机的移动游戏开发(2).files/nnselect.js"></SCRIPT>
<NOSCRIPT><IMG height=1 src="" width=1> </NOSCRIPT></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -