知识大全 使用 Jbulider 开发 J2ME 移动游戏程序

Posted 路径

篇首语:道德可以弥补能力的不足,能力却难以掩盖道德的缺陷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用 Jbulider 开发 J2ME 移动游戏程序相关的知识,希望对你有一定的参考价值。

使用 Jbulider 开发 J2ME 移动游戏程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  作者使用JBuilder 里面自带WTK 自己下载 版本 那个默认的模拟器看着实在爽 另外 Jbuilder X下的WTK也是 的版本 Jbuilder 的WTK是 首先开启Jbuilder 建立一个Project    >  然后填写名字和路径 继续    >  然后选择JDK路径 本身已有WTK 你可以选择 但是你也可以自己选择其他的WTK版本:   >  点击jdk后面的路径按钮 继续:   >  next 工程建立完毕 接着点击file >New:   >  然后在对话框左边选择Micro 你就能看到右边出现MIDlet Displayable 接上面的:如图示   >  点击MIDlet or Displayable 则让你输入MIDlet的名字 如图:   >  继续下一步 让你输入一个Displayable的名字 包括类型(form canvas等) 是否自动加载Command等等    >  然后Jbuilder自动生成所需代码 以及Jbuilder自加的一些东西 你可以添加或修改之 这里我将本站一篇关于介绍Gamecanvas的文章的代码拿过来 做少量修改 作为本文章的一个演示     TestMIDlet java文件:    package temps;    import javax microedition midlet *;  import javax microedition lcdui *;    /**  *

  Title:

  *  *

  Description:

  *  *

  Copyright: Copyright (c)

  *  *

  Company:

  *  * @author not attributable  * @version   */  public class TestMIDlet extends MIDlet    private Display display;    public void startApp()    try    display = Display getDisplay(this);  Displayable gameCanvas = new Displayable ();  gameCanvas start();  display setCurrent(gameCanvas);    catch (Exception ex)    System out println(ex);        public Display getDisplay()    return display;      public void pauseApp()        public void destroyApp(boolean unconditional)    exit();      public void exit()    System gc();  destroyApp(false);  notifyDestroyed();        Displayable java内容:    package temps;    import javax microedition lcdui *;  import java util Random;  import javax microedition lcdui game *;  /**  *

  Title:

  *  *

  Description:

  *  *

  Copyright: Copyright (c)

  *  *   *  * @author not attributable  * @version   */  public class Displayable extends GameCanvas implements Runnable    private boolean isPlay; // Game Loop runs when isPlay is true  private long delay; // To give thread consistency  private int currentX currentY; // To hold current position of the X   private int width; // To hold screen width  private int height; // To hold screen height  private Random random=new Random(System currentTimeMillis());  private final int[] sequence= ;  private int counter= ;  private int enemyX enemyY;  private int enemyDirect= ;  private boolean isdown=false;    private boolean isalive=true;    // Sprites to be used  private Sprite playerSprite;  private Sprite backgroundSprite;  private Sprite enemySprite;    // Layer Manager  private LayerManager layerManager;    // Constructor and initialization  public Displayable () throws Exception    super(true);  width = getWidth();  height = getHeight();    currentX = width / ;  currentY = height / ;  enemyX=width/ ;  enemyY=height/ ;  delay = ;    Image playerImage=null;  Image backgroundImage=null;  Image enemy=null;  // Load Images to Sprites  try    playerImage = Image createImage( /transparent png );  backgroundImage = Image createImage( /background png );  enemy=Image createImage( /frames png );    catch(Exception e)    System out println( get Image error! +e getMessage());      playerSprite = new Sprite(playerImage );  System out println(playerSprite getRawFrameCount());  enemySprite=new Sprite(enemy );  backgroundSprite = new Sprite(backgroundImage);  layerManager = new LayerManager();  layerManager append(playerSprite);  layerManager append(enemySprite);  layerManager append(backgroundSprite);        // Automatically start thread for game loop  public void start()    isPlay = true;  Thread t = new Thread(this);  t start();      public void stop()    isPlay = false;      // Main Game Loop  public void run()    Graphics g = getGraphics();  while (isPlay == true)    input();  drawScreen(g);  try    Thread sleep(delay);    catch (InterruptedException ie)              // Method to Handle User Inputs  private void input()    int keyStates = getKeyStates();    playerSprite setFrame( );  if(isalive)    if(counter== )    enemyDirect=Math abs(random nextInt()% );    counter++;  switch(enemyDirect)    case :  enemyY=Math max( enemyY);  break;  case :  enemyY=Math min(++enemyY height enemySprite getHeight());  break;  case :  enemyX=Math max( enemyX);  break;  case :  enemyX=Math min(++enemyX width enemySprite getWidth());  break;    counter=(counter++)%(sequence length());  enemySprite setFrame(sequence[counter]);    else    enemyY+=counter;  enemyY=Math min(enemyY height enemySprite getHeight());    if(enemyY  counter++;  enemySprite setFrame( );      // Left  if ((keyStates & LEFT_PRESSED) != )    currentX = Math max( currentX );  playerSprite setFrame( );      // Right  if ((keyStates & RIGHT_PRESSED) != )  if (currentX + < width)    currentX = Math min(width currentX + );  playerSprite setFrame( );      // Up  if ((keyStates & UP_PRESSED) != )    currentY = Math max( currentY );  playerSprite setFrame( );      // Down  if ((keyStates & DOWN_PRESSED) != )    isdown=true;      if ((keyStates & DOWN_PRESSED) != )    if(isdown)    if (currentY + < height)    currentY = Math.min(height, currentY + 1);  playerSprite.setFrame(4);          if((keyStates & FIRE_PRESSED)!=0)    isalive=!isalive;  counter=0;      if(!(enemyX+enemySprite.getWidth()   || enemyY+enemySprite.getHeight()   || enemyX>currentX+playerSprite.getWidth()  || enemyY>currentY+playerSprite.getHeight()) && isalive)    counter=0;  isalive=false;        // Method to Display Graphics  private void cha138/Article/program/Oracle/201311/17168

相关参考

知识大全 高可靠性移动应用程序---J2ME工具(3)

高可靠性移动应用程序---J2ME工具(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JM

知识大全 J2ME 2005移动开发这场竞赛的领跑者

J2ME2005移动开发这场竞赛的领跑者  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年移动开

知识大全 使用J2ME MMAPI开发移动多媒体应用技术

使用J2MEMMAPI开发移动多媒体应用技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一引

知识大全 使用Eclipse开发J2ME手机应用程序

使用Eclipse开发J2ME手机应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是

知识大全 J2ME 带给移动支付的优势解析

J2ME带给移动支付的优势解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  移动支付是一种在移

知识大全 在Eclipse中使用Ant来自动编译J2me程序

在Eclipse中使用Ant来自动编译J2me程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 用EclipseME0.5.5创建简单的J2ME程序(图)

用EclipseME0.5.5创建简单的J2ME程序(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 在Eclipse中使用Ant来自动编译J2me程序[1]

在Eclipse中使用Ant来自动编译J2me程序[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 在Eclipse中使用Ant来自动编译J2me程序[2]

在Eclipse中使用Ant来自动编译J2me程序[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 在Eclipse中使用Ant来自动编译J2me程序[3]

在Eclipse中使用Ant来自动编译J2me程序[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下