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

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

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

【 tulaoshi.com - 编程语言 】


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

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

  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();
      }

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

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

      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 --");
      }

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

  

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

延伸阅读
介绍 本文通过一个简单的MIDlet游戏程序示例,简要介绍了MIDlet图形编程,以期能对开发者深入理解MIDP图形编程和开发复杂的移动游戏有所帮助。 一. MIDLET图形 1、MIDlet 图形简述 移动信息设备描述(Mobile Information Device Profile ,MIDP)定义了一套应用编程接口(API),用于运行在MIDP容器中的MIDlet应用程序...
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技术。 从机票预订系统、银行系统到购物系...
标签: PHP
ZDE 基本功能 界面介绍。如下图:   下面就按照一些常用功能来介绍这款编辑器。 1. 项目管理功能。 ZDE 可以和 DW 一样建立和管理项目。点击菜单命令:Project - New Project 来建立一个新项目。弹出的对话框中输入项目名称,我这里输入一个 OpenPHP.cn 项目,可以选择项目信息的存放路径,一般按照...
一.简介 今天我们要接触到令人敬畏的DirectX。它比Windows GDI要快好几倍,可用于不同的语言和多种平台,支持从绘制象素到高级3D图象,从播放简单声音到数字音乐,从键盘控制到反震手柄……它给你游戏编程所需的一切(有点夸张)。         当然了,它是巨大的,需要好几本书才能含盖它的全部。先不要去担心...

经验教程

351

收藏

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