设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5434|回复: 10

[综合信息] 用JAVA做halloworld并运行手机(试验中)

 关闭 [复制链接]

Lv1.梦旅人

天国守护

发表于 2006-12-22 10:03:37 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖子相关教程:点我下载
[quote]声明:本教程为66RPG所有:friday5xue拥有最高解释权
不经允许不得转载!以上!

[/quote]
大家好!作为地球村呢!除了让大家感受到外界的素材与技术之外,也有必要让大家了解些专业语言的游戏制作!今天我就给大家讲解下用J2ME实现简单的halloworld程序!

首先,是软件方面!
请看以下帖子!
安装与运行(JDK)
安装过程跟一般程序一样,一路next,我把它装在我电脑的D盘,然后把安装路径名改为d:\jdk,不喜欢默认的,太长,在设置环境变量的有点麻烦(如果手动输入很有可能出错),装好之后要设置一些环境变量.我是这样设置的.

首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“java_home”、“path”、“classpath”.点“新建”,然后在变量名写上java_home,顾名其意该变量的含义就是java的安装路径,呵呵,然后在变量值写入刚才安装的路径“d:\jdk",然后找到path(系统本来就有,我的是XP),在后面追加“%java_home%\bin",(其中“%java_home%”的意思为刚才设置java_home的值),最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar(要加.;表示当前路径)”

这样JDK就安装好了,接下来测试一下.按运行.敲下cmd命令,出现DOS界面,再敲下java,如果出现

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
这样的提示语句就说明jdk安装成功了.

安装与运行(WTK)
软件介绍~~
http://rpg.blue/viewthread.php?tid=39725
与一般的软件安装一般,但是需要JDK,所以在安装前请先安装JDK

安装与运行(Borland JBuilder 9 Enterprise Trial)
软件介绍~~
http://rpg.blue/viewthread.php?tid=39725
与一般的软件安装一般,但是需要JDK,所以在安装前请先安装JDK
如果要想运行J2ME程序需再添加WTK~~

很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?

Lv1.梦旅人

天国守护

 楼主| 发表于 2006-12-22 10:03:37 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖子相关教程:点我下载
[quote]声明:本教程为66RPG所有:friday5xue拥有最高解释权
不经允许不得转载!以上!

[/quote]
大家好!作为地球村呢!除了让大家感受到外界的素材与技术之外,也有必要让大家了解些专业语言的游戏制作!今天我就给大家讲解下用J2ME实现简单的halloworld程序!

首先,是软件方面!
请看以下帖子!
安装与运行(JDK)
安装过程跟一般程序一样,一路next,我把它装在我电脑的D盘,然后把安装路径名改为d:\jdk,不喜欢默认的,太长,在设置环境变量的有点麻烦(如果手动输入很有可能出错),装好之后要设置一些环境变量.我是这样设置的.

首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“java_home”、“path”、“classpath”.点“新建”,然后在变量名写上java_home,顾名其意该变量的含义就是java的安装路径,呵呵,然后在变量值写入刚才安装的路径“d:\jdk",然后找到path(系统本来就有,我的是XP),在后面追加“%java_home%\bin",(其中“%java_home%”的意思为刚才设置java_home的值),最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar(要加.;表示当前路径)”

这样JDK就安装好了,接下来测试一下.按运行.敲下cmd命令,出现DOS界面,再敲下java,如果出现

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
这样的提示语句就说明jdk安装成功了.

安装与运行(WTK)
软件介绍~~
http://rpg.blue/viewthread.php?tid=39725
与一般的软件安装一般,但是需要JDK,所以在安装前请先安装JDK

安装与运行(Borland JBuilder 9 Enterprise Trial)
软件介绍~~
http://rpg.blue/viewthread.php?tid=39725
与一般的软件安装一般,但是需要JDK,所以在安装前请先安装JDK
如果要想运行J2ME程序需再添加WTK~~

很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?

Lv1.梦旅人

梦石
0
星屑
65
在线时间
53 小时
注册时间
2006-12-15
帖子
90
发表于 2006-12-22 10:07:13 | 显示全部楼层
1.5之后,不再需要设置java_home环境变量了,classpath也可设置为 "."作为默认设置选择
呼,看到水区的帖子,大致了解了66的想法,在学习Ruby时会经常来玩的.
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天国守护

 楼主| 发表于 2006-12-24 10:04:45 | 显示全部楼层
这些是源代码,请按照以下讲解操作~~
先打开记事本写一个名字为“midp.java”的文件(注意大小写和扩展名)复制以下代码粘贴并保存!
  1. package demoimage;
  2. /**
  3. * <p>Title:HalloWorld</p>
  4. * <p>Description: friday5xue的J2ME教学,如何制作手机上的HalloWorld</p>
  5. * <p>Copyright: Copyright (c) 2006</p>
  6. * <p>Company: 66RPG</p>
  7. * @author not attributable
  8. * @version 1.0
  9. */
  10. import javax.microedition.midlet.*;
  11. //midlet应用程序包
  12. import javax.microedition.lcdui.*;
  13. //midlet界面包

  14. public class midp extends MIDlet implements CommandListener{
  15. //  midp本类的名字
  16. //  extends MIDlet继承MIDlet
  17. //  implements CommandListener 引入 CommandListener接口(键盘事件处理接口)
  18.   Display display;//屏幕显示类对象
  19.   gamecanvas canvas=new gamecanvas();//新建一个gamecanvas对象canvas
  20.   public midp() {
  21.     display=Display.getDisplay(this);
  22.     //取得图像显示权限
  23.     canvas.start();
  24.     //开始执行gamecanvas中的方法
  25.   }

  26.   protected void startApp() {
  27.   //MIDlet抽象方法 startApp()
  28.     display.setCurrent(canvas);
  29.     //设置绘制的内容,也就是绘制canvas对象
  30.   }

  31.   protected void pauseApp() {
  32.     //MIDlet抽象方法pauseApp()
  33.   }

  34.   protected void destroyApp(boolean boolean0) {
  35.     //MIDlet抽象方法destroyApp()
  36.   }

  37.   public void commandAction(Command command, Displayable displayable) {
  38.     //事件处理函数
  39.   }
  40. }
复制代码
再打开记事本写一个名字为“gamecanvas.java”的文件(注意大小写和扩展名)复制以下代码粘贴并保存!
  1. package demoimage;

  2. /**
  3. * <p>Title:HalloWorld</p>
  4. * <p>Description: friday5xue的J2ME教学,如何制作手机上的HalloWorld</p>
  5. * <p>Copyright: Copyright (c) 2006</p>
  6. * <p>Company: 66RPG</p>
  7. * @author not attributable
  8. * @version 1.0
  9. */
  10. import javax.microedition.lcdui.*;
  11. import javax.microedition.lcdui.game.*;
  12. import javax.microedition.midlet.*;

  13. //调入所用的包
  14. //从上到下依次是 图形界面类 游戏界面类 MIDP程序应用类
  15. public class gamecanvas
  16.     extends GameCanvas
  17.     implements Runnable {
  18. // 新建一个名为gamecanvas的类继承了GameCanvas(注意大小写)接入了Runnable接口
  19.   public Thread thread; //创建一个线程
  20.   Image image; //创建一个image对象
  21.   boolean show; //创建一个布尔变量(非错即对的变量)
  22.   int X = -240; //这个是屏幕的宽 实验用机型的规格是240*320像素的大小!

  23.   public gamecanvas() { //构造函数
  24.     super(true); //继承GameCanvas的方法
  25.     try {
  26.       image = Image.createImage("/66LOGO.png"); //读入图片 路径是用"/"来隔开的 读取的文件要加上扩展名 目前只支持PNG图片!
  27.     }
  28.     catch (Exception e) {
  29.       e.printStackTrace(); //封装好的错误输出函数,实际上可以写上其他自己的函数
  30.     } //try\catch是异常处理函数 就是 如果调入图片失败!那么就调用catch后面的函数!
  31.   }

  32.   public void start() {
  33.     //线程开始的方法
  34.     thread = new Thread(this); //实例化线程
  35.     thread.start(); //线程启动

  36.   }

  37.   public void run() {
  38.     //Runnable接口的抽象函数
  39.     Graphics g = getGraphics(); //实例化Graphics
  40.     //run()中的主要函数
  41.     while (true) {//当其为真时运行
  42.       drawimage(g);
  43.       if (X != 0) {
  44.         X += 2;
  45.         //如果X值不得零则X就自加2  也就是  X=X+2
  46.       }
  47.       try {
  48.         thread.sleep(50);//使线程暂停50毫秒
  49.       }
  50.       catch (Exception e) {
  51.         e.printStackTrace();//同上try\catch是异常处理函数
  52.       }
  53.     }
  54.   }

  55.   public void drawimage(Graphics g) {
  56.     //自定义函数 用途绘制图像!
  57.     g.setColor(0xFFFFFF);//把背景颜色值为白色
  58.     g.fillRect(0, 0, getWidth(), getHeight());//覆盖全屏getWidth(), getHeight()分别是取得屏幕宽高
  59.     if (X != 0) {
  60.       //如果X不得0就绘制图像!
  61.       g.drawImage(image, X, 0, g.TOP | g.LEFT);
  62. //      drawImage() JAVA中绘制图像的方法
  63. //      image:要绘制的图像
  64. //      X, 0:图像绘制的位置
  65. //      g.TOP | g.LEFT:图像的对齐方式
  66.     }
  67.     else {
  68. //      如果X=0则
  69.       g.setColor(0x000000);
  70. //      设置前景色为白色
  71.       g.drawString("HELLO WORLD 66RPG", getWidth() / 2 - 50, getHeight() / 2,
  72.                    g.LEFT | g.TOP);
  73. //      drawString() JAVA中绘制文字的方法
  74. //      "HELLO WORLD 66RPG":要绘制的文字 要用""扩起来!
  75. //      getWidth() / 2 - 50, getHeight() / 2:文字绘制的位置,这里用的是取值函数!可以直接使用数字
  76. //      g.TOP | g.LEFT:图像的对齐方式

  77.     }
  78.     flushGraphics();
  79. //      刷新屏幕!
  80.   }
  81. }
复制代码
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

发表于 2006-12-24 10:13:15 | 显示全部楼层
牛,偶一直学的是Application……{/hx}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天国守护

 楼主| 发表于 2006-12-24 12:28:13 | 显示全部楼层
以下引用六脉神剑于2006-12-24 2:13:15的发言:

牛,偶一直学的是Application……

呼呼终于做完了~~~~最后的图文教程实在是帖子所发不了的~~
打了个包放在第一贴上了!~~~

Application也做过~~我第一个JAVA游戏就是Application的~~~~{/cy}
但是该忘还是忘了~~~{/hx}
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
53 小时
注册时间
2006-12-15
帖子
90
发表于 2006-12-28 22:26:54 | 显示全部楼层
呵呵,IDE我更喜欢使用Eclipse~而根据SP常用的WTK版本的不同,手机测试型号不同,屏幕宽也非一致的.现在最常见的标准测试机型是NOKIA S6600支持GSM/GPRS,MIDP1.0,CLDC1.0,全屏为176X208,支持16Bits色.
当然在制作游戏时候尽可能的设置变量以适合各种不同机型.,获得最大兼容.

呃,补充下,楼主知道哪儿有J-bulider破解版吗?..您的链接里找不到的说,注册,没钱.
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
260
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

发表于 2006-12-28 22:29:12 | 显示全部楼层
看来都是高手啊,java我只限于能写出个计算器的水平……{/hx}
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天国守护

 楼主| 发表于 2006-12-29 03:05:51 | 显示全部楼层
以下引用亿万星辰于2006-12-28 14:29:12的发言:

看来都是高手啊,java我只限于能写出个计算器的水平……

在这里只表现了我PS水平和水魔本质~~
以至于我说我是程序都没人信了~~~
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

发表于 2007-1-6 12:35:47 | 显示全部楼层
我经过反复摸索和实验……

手机就是无法连到电脑……{/pz}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-3-28 23:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表