J2ME游戏开发中时钟的简单实现

2016-02-19 14:13 0 1 收藏

图老师小编精心整理的J2ME游戏开发中时钟的简单实现希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】


  在游戏开发中,有时候我们需要一个时钟来记录游戏的时间,假如时间结束则结束游戏。本文介绍如何在J2ME中使用Timer和TimerTask来实现这样一个时钟,并给出具体代码实例。

  在Java.util包中有一个TimerTask类,你可以扩展这个类并且实现他的run()方法,在run()方法中编写我们的逻辑代码。假如我们想制作一个游戏时钟,那么非常简单我们编写一个GameClock类扩展TimerTask,GameClock需要维持一个实例变量timeLeft,这样我们就可以记录游戏剩余的时间了,在每次run()运行的时候把timeLeft减1就可以了。有时候我们需要始终暂停以及重新启动,这并不复杂,在GameClock中添加一个boolean类型的标记就可以了。下面给出GameClock的代码:
  
  /*
   * GameClock.java
   *
   * Created on 2005年7月18日, 上午11:00
   *
   * To change this template, choose Tools Options and locate the template under
   * the Source Creation and Management node. Right-click the template and choose
   * Open. You can then make changes to the template in the Source Editor.
   */

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  package com.j2medev.gameclock;
  import java.util.TimerTask;
  /**
   *
   * @author Administrator
   */
  public class GameClock extends TimerTask{
     
      private int timeLeft = 60;//时钟的默认时间
      private boolean pause = false;
      /** Creates a new instance of GameClock */
      public GameClock() {
      }
     
      public GameClock(int value){
          timeLeft = value;
      }
     
      public void run(){
          if(!pause){
              timeLeft--;
          }
      }
     
      public void pause(){
          pause = true;
      }
     
      public void resume(){
          pause = false;
      }
     
      public int getTimeLeft(){
          return timeLeft;
      }
     
      public void setTimeLeft(int _value){
          this.timeLeft = _value;
      }
  }

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

来源:https://www.tulaoshi.com/n/20160219/1606459.html

延伸阅读
有几个想学J2ME的朋友问过我这个问题。我想这个问题可以有两个答案。 J2ME是简单的。 !-- frame contents -- !-- /frame contents -- 说其简单,更主要的原因是J2ME开发使用的是Java,离开平台技术范畴(J2SE,J2ME,J2EE),Java语言本身是简单的,或者说“简洁”更为强大。比起C++的程序代码来说,Java Code让人看起来更舒适,也更直观。 ...
一、编写易于移植的J2ME代码 我写第一个J2ME游戏的时候,根本就没想过移植的问题。所以那个游戏也就很难移植了。反过来,假如你已经计划好要移植了,那么事情就简单的多。这一节说的是代码问题。那就想想,不同手机之间在代码上会有哪些差异。 (1) 屏幕尺寸不同 这儿谈的主要问题,是自适应控件。所谓控件,就是菜...
(3).建立Draw类用来显示图形: public class Draw { /** Creates a new instance of Draw */ public Draw(Canvas canvas) { } public static boolean paint(Graphics g, byte img, int x, int y) { //在地图的x,y点绘制img指定的图片 try { paint(g, img, x, y, Ima...
标签: Java JAVA基础
J2ME里面有自带的List类,但是功能太弱,没有实现View和Model的分离,所以操作起来比较费事。本来事想写一个Canvas的TreeList,但是画起来算坐标又太麻烦,所以选取了一个折中的方法,继承List,实现一个操作起来比较方便的组件。 目的: 1.可伸缩的目录树结构,暂时先实现两层。 2.Label和存储内容分离。 3.激活和非激...
4.改进程序 (1)记录历史步骤,以便可以悔棋: 记录历史步骤的方法是实现一个History类,这个类实际上是一个Vector的封装,用来保存每一步的走法,走法被定义为一个包含5个元素的数组,分别是 X,Y,width,height,direction. 这里需要注重的是,Java当中实际上是没有局部变量的,每一个局部变量都需要new...

经验教程

10

收藏

65
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部