使用MIDP2.0开发游戏(7)设计Scheduler

2016-02-19 13:00 3 1 收藏

下面是个简单易学的使用MIDP2.0开发游戏(7)设计Scheduler教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】


  Scheduler负责以固定的频率执行每一帧,所需的时钟由Clock提供,Scheduler还可以计算每帧所需时间和CPU占用率,以便可能的话动态调整任务。

  以下的Scheduler的实现参考自Marshall "Game Programming Gems 3"中的C++代码:

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

  package game.engine.core;

  public class Scheduler {

      // clock:
      private Clock clock = new Clock();
      
      // 启动Scheduler:
      public void start() {
          clock.start();
      }

      // 停止Scheduler:
      public void stop() {
          clock.stop();
      }

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

      public int getSystemTime() {
          return clock.getSystemTime();
      }

      public int getVirtualTime() {
          return clock.getVirtualTime();
      }
  
      // 执行完整的一帧:
      public void executeFrame() {
          System.out.println("-- start execute frame --");
          clock.beginFrame();
          int started = clock.getSystemTime();
          // do time task:
          System.out.println("doing time tasks...");
          try {
              Thread.sleep(500);
          }catch(InterruptedException ie) {}
          clock.advanceToEnd();
          // do frame task:
          System.out.println("doing frame tasks...");
          try {
              Thread.sleep(200);
          }catch(InterruptedException ie) {}
          // do render task:
          int end = clock.getSystemTime();
          int elapsed = end - started;
          int frameLength = clock.getFrameEnd() - clock.getFrameStart();
          System.out.println("elapsed: " + elapsed + ", frame: " + frameLength);
          System.out.println("cpu usage: " + (elapsed * 100 / frameLength) + "%");
          // cleanup:
          System.out.println("-- end execute frame --");
      }

  

来源:http://www.tulaoshi.com/n/20160219/1602719.html

延伸阅读
5、GameScreen.java GameScreen使用了一个低级应用编程接口Canvas屏幕,和Image、Graphics类来绘制游戏面板、棋子,以及游戏的最终结果状态。要获取更详细的信息,请参阅各种绘画方法和drawCircle、drawCross、drawPiece、drawPlayerCursor、drawBoard等方法。这个屏幕使用MIDlet的quit回调方法来指示游戏结束。 此屏幕可适应各...
7大早教方法 父母需掌握 第一,孩子需要学习语言,这是语言教育 正常的孩子,不到6周岁,都能运用母语应付日常生活中遇到的各种状况。除了母语,孩子还应学一门外语,首选自然是国际语言--英语。精通英语可以扩大一个人的视野,提高一个人成就的上限。 学习英语显然也和学习母语一样重要和迫切!为什么说迫切呢?因为语言是一种...
标签: Java JAVA基础
  JSP(JavaServer Pages)技术是对Servlet的进一步抽象,它由JCP(Java Community Process)开发,是用于生成动态内容的开放式的、可免费获取的规范,也是J2EE(Java 2 Enterprise Edition)规范的重要组成部分。许多商业应用服务器如BEA WebLogic、IBM WebSphere、Live Jrun和Orion都支持JSP技术。 从机票预订系统、银行系统到购物系...
J2ME(Java 2 Micro Edition)的出现把Java开发者彻底地引入了开发无线设备应用程序的广阔天地。当然,移动设备因其功能和处理能力而多种多样,但是,J2ME通过定义configurations和profiles而对这些差异性进行了逻辑抽象,然后整合两种设置为在特定移动设备上开发应用程序提供了一套完整的平台和API。 连接限制设备配置CLDC(Con...
一、背景介绍 现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。 现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。 除了语音数据以外,它们还可以发送和接收其它类型的数据。所以类似《传奇》、《千年》这样的网络游戏也可以在手机上实现。...

经验教程

526

收藏

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