当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: MIDP 2.0里面包括一个用来简化编写二维游戏的API函数。
 

 

    摘要:java语言是完全面向对象的,它的线程机制和对象序列化特别容易使用,使用java来建立一套多线程服务器要比使用其它语言方便的多,如果你再把它的异常处理机制利用好,那么你就可以建立一个商业级的多线程服务器了。由于采用了消息队列和socket传输方式,所以不会出现丢消息的问题。这套服务器可以作为实时聊天服务器、多人协同的协作服务器等等。消息系统的建立这套服务器的消息系统采用的是对象传输的机制,而不是以......
    摘要:1、使用线程例子 package untitled1;import javax.swing.*;import java.awt.event.*;import java.awt.*;import com.borland.jbcl.layout.*;/*** title:* description:* copyright: copyright (c) 2002* company:* @author*......


使用Game API函数制作二维动作游戏

midp 2.0里面包括一个用来简化编写二维游戏的api函数.这个api函数是非常简凑的,只包括javax.microedition.lcdui.game包里的五个类.这五个类主要提供了两个重要的功能:

功能强大而复杂的图层(layer)api函数可以轻松高效地建立复杂的场景. 【程序编程相关:传中国网通拟在下月以3.5亿元出售亚洲网

新的gamecanvas类使得在一个游戏循环体内画一个screen与响应键盘输入成为可能,而不需要调用系统的paint与input线程. 【推荐阅读:中怡数宽暨广深两地 新品发布会议

【扩展信息:光学无线技术FSO 延展光纤网络

mutank example

利用gamecanvas类创建一个游戏循环(game loop)

gamecanvas类是附加了功能的canvas类,它提供了立即重画与检查设备按键状态的方法.这些新的方法把一个游戏的所有函数(功能)封装在一个循环体内,并由一个单线程进行控制.为什么这样做就非常吸引人阿?先让我们考虑一下你是如何执行一个使用了canvas类的典型游戏的:

public void microtankcanvas

extends canvas

implements runnable {

public void run() {

while (true) {

// update the game state.

repaint();

// delay one time step.

} }

public void paint(graphics g) {

// painting code goes here.

}

protected void keypressed(int keycode) {

// respond to key presses here.

} }

这不是一个美丽的画面 .运行在应用程序线程中的run()方法,每一个时间段都会刷新游戏.典型的任务是刷新小球或飞行物的位置,绘制人物或飞行器动画.每一次通过循环体,repaint()方法被用来刷新屏幕.系统把按键事件传送给keypressed(),它能适当地刷新游戏状态.

问题是,每样东西都在不同的线程里,游戏代码在以上三种不同方法里传递很容易混淆.当run()方法里的主动画循环体调用repaint()方法时,将没有办法确切知道系统什么时候调用paint()方法.当系统调用keypressed()时,也没有办法知道程序的另一部分正在进行什么.如果你keypressed()中的代码将要刷新游戏的状态,而同一时刻paint()方法将表现屏幕,这时屏幕将会持续非常奇怪的状态.如果表现屏幕所用时间超过一个单时间段,动画会看起来颠簸不定或是很奇怪.

gamecanvas类允许你避开常用绘画(painting)与按键消息(key-event)机制,所以所有的游戏逻辑都可以被包括在一个单循环中.
...   下一页

    摘要:数据压缩概述文件中数据冗余的最简单的类型是"字符的复制"。让我们先来看下面一个字符串:jjjjjjaaaavvvvaaaaaa 这个字符串可以用更简洁的方式来编码,那就是通过替换每一个重复的字符串为单个的实例字符加上记录重复次数的数字来表示,上面的字符串可以被编码为下面的形式:6j4a4v6a 在这里,"6j"意味着6个字符j,"4a"意味着4个字符a,以此类推。这种字符串压缩方式称为"行程长......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE