自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(68)
  • 资源 (1)
  • 收藏
  • 关注

转载 j2me实现A*算法尝试

  j2me实现A*算法尝试(不知道是哪位高人写的,不错) 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs] 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs] 本帖子来源于无线论坛[http://www

2006-05-26 09:17:00 1107 1

原创 通过游戏代码学J2ME(三)

辅助类backdrop类package npc7776;import javax.microedition.lcdui.*;/****************************************** * 类功能介绍:设置背景及清除屏幕 *****************************************/public class backdrop {  Image img

2005-03-30 19:53:00 1018

原创 通过游戏代码学J2ME(一)

通过一款游戏的代码分析,从中学习掌握MIDP的开发知识。以一个简单的射击类游戏为说明,代码中较多的涉及控制操作,显示操作的内容。这个游戏由7个类组成,其中可以分为主类 : planemain.java游戏动作类: cortrol.java游戏属性类: plane.java bullet.java游戏辅助类:about.java cover.java backdrop.java首先来介绍主类的代码p

2005-03-30 19:52:00 1278

原创 通过游戏代码学J2ME(二)

辅助类cover类package npc7776;import javax.microedition.lcdui.*;import java.util.*;/**************************************** * 类功能介绍:启动显示封面,由main类调用,封面显示俩秒 ****************************************/public c

2005-03-30 19:52:00 1194

原创 J2ME游戏中的图片处理

图片资源乃是游戏的外衣,直接影响一个游戏是否看上去很美。在J2ME游戏开发中,由于受到容量和内存的两重限制,图片使用受到极大的限制。在这种环境中,处理好图片的使用问题就显得更加重要。 本文从容量和内存两个方面谈谈J2ME游戏图片处理的基本方法。一 减少图片容量方法1:将多张png图片集成到一张图片上。 这是最基本也是最有效的减少png图片容量的办法了。比如你有10张png图片,每张10×15,现在

2005-03-21 18:45:00 291

原创 J2ME潜艇大战游戏设计与实现

本文给出了一个飞机射击类(潜艇)游戏的设计过程以及相应的流程图,并提供了Demo版源代码下载地址,游戏在sun wtk v2.2 下调试通过。声明:本游戏所用的资源大多不属于作者,代码仅供非商业用途的学习参考。以下为游戏的几张截图740)this.width=740" border="undefined"/>游戏设计1 游戏操作流程:    游戏的初始画面是一个implusive的List列表格式

2005-03-21 18:41:00 1025

原创 解决J2ME开发中的连续按键问题

我们知道MIDP中的低级事件处理是通过keyPressed()、keyReleased()和keyRepeated()来处理的,分别在按键被按下、释放和重复按键的时候被触发。当方法被调用的时候,系统会把所按下键的键值传递给上述的三个方法,根据按键的键值我们可以进行相关的处理。在MIDP中定义了如下的按键值分别是: KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KE

2005-03-21 18:39:00 870 1

原创 每个java初学者都应该搞懂的问题!

对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的

2005-03-18 13:25:00 727

原创 游戏中的地图

关于地图:《仙剑奇侠传》地图图块(Tile)的大小为32X16(以象素为单位)。实际每个图块的大小为32x15(以像素为单位),通过拼接刚好天衣无缝。地图大小为128x128(以图块为单位)。排列方式如下:0 2 4 6 8…… // 第0行 1 3 5 7 9……0 2 4 6 8…… // 第1行 1 3 5 7 9……采用这种方式的好处是很容易确定那些图块在屏幕可见范围内,每次只画可见部分。

2005-03-02 21:32:00 1244

原创 制作手札---RPG是怎样做成的 (四)

四月二日:对话系统 经常听见有人说“RPG游戏不就是一个小人在屏幕上走来走去,碰到了人就说两句话吗!”。虽然这种评价有点过于偏激,但是,也从一个侧面反映出了对话在RPG游戏的作用和影响。客观的讲,人物对话是表现一个游戏故事情节的最直接、最有效方法!而其他的任何手段都无法替代它。例如:过场动画也可以表现游戏的情节和发展,但是,过场动画最适合的是烘托整个游戏的气氛,交代游戏发生的背景或是作为两段情节间

2005-03-02 21:24:00 1234

原创 制作手札---RPG是怎样做成的 (三)

三月二十九日 至四月一日:场景显示及行走系统如果说‘消息处理’是整个程序的核心!那么‘场景显示及行走系统’就是整个游戏的核心。因为作为RPG游戏,其所有事件的发生几乎都是和场景有关,例如:不同的地方会碰到不同的敌人、与不同的人对话得知不同的事情、在特定的地点才能找到宝物等等,所有的这一切都说明‘场景’在一个RPG游戏中的重要地位。鉴于这部分的重要性,我们可再将它划分为:背景显示、行走 和 事件发生

2005-03-02 21:23:00 1242

原创 制作手札---RPG是怎样做成的 (二)

三月二十七日 星期六:系统分析“系统分析”如此专业的词汇可能会立刻吓退一大片人,我当初也是如此!不过只要你认真读完下面的文字,也许你会说一声:‘系统分析’也不过如此嘛! 顾名思义‘系统分析’就是对整个游戏系统的规划,自顶向下的将它细化成一个个可由程序实现的模块;然后再把各个模块细化成一条条的语句。如此一来,写程序时就可以有条不紊,不会再像以前那样想到哪儿写到哪儿了。 相信大家对RPG都是非常熟悉的

2005-03-02 21:21:00 1040

原创 制作手札---RPG是怎样做成的 (一)

自从我们的第一个正式电脑游戏《冲击》完成之后,已经有很长一段时间没有碰这方面的东西了,不过在我心中好象一直在期盼着什么东西……目睹着当今五彩缤纷的游戏世界和国产游戏的尴尬境地,我忽然有一种莫名的冲动,做游戏的冲动。也许是以前有过这方面的经验或者说是教训吧!我知道应该先让自己冷静下来,仔细的想一想我到底应该做什么类型的游戏?怎样做?我的目的又是什么呢?或许是对RPG的偏爱,或许是因为RPG实现起来相

2005-03-02 21:20:00 1084

原创 斜视角游戏制作初步

斜视角已经成了目前RPG游戏的一个标准,它比普通的垂直视角在视觉表现方面要更胜一筹,但是也带来了一些不便。   先讲一下地图的拼法。现在的RPG、战棋和即时战略游戏的地图还是用一块一块的小图素(Tile)拼起来的,这样主要为了节省内存,但对美工的要求要高一些。而且斜视角的Tile是一个菱形,比之垂直视角的矩形Tile拼起来要复杂一些。   假设我们每个地图单元(即是下图中红线框出的一个矩形)的大小

2005-03-02 21:13:00 1176

原创 斜视角游戏中遮挡的判断

遮挡的判断是游戏里非常繁琐的一个工程,但又是必不可少的。否则每次只要有一个东西移动,就要重画整个屏幕,这样好象有点得不偿失了。在3D技术中,就有什么画家算法、Z-Buffer算法、BSP树等很多消隐方法。在这里面我们不用这么烦了,我们把地图都分成一个一个的Tile,这样并不仅仅可以节省空间,在物体的遮挡判断上也容易得多。  当然这有需要一点点投机取巧的方法。如图,在斜视角游戏里,每个物体都被包含在

2005-03-02 21:12:00 1496

原创 斜45度角地图拼接

有人在新浪网的游戏制作论坛问这个,那我随便说说这个问题的解法,先看看地图元素:可以看出来是个扁的菱形。这个地图元素的大小是64X32,你可以随意决定元素长宽,在设计程序时,地图元素大小并不重要,只要把尺寸扔进绘图方程,程序就能正确地绘制地图。在这个例子中,我们就先用64X32来演示。那么这个公式是怎么样的呢?先看看Staggered地图: 这个地图有5行,看着这个地图你会想,怎么拼图才能将地图拼出

2005-03-02 21:09:00 1395

原创 角色移动的步长、步速与滑步现象

滑步只跟步长有关,就是一轮人物行走(或跑步)实际移动的像素。当然国产游戏大多做的不好。大多数根本不去认真做人物行走的播放程序,简单一帧帧播放动画,并随意移动小人在地图上的位置了事。防止滑步又可以随意改变人物移动速度的方法是这样的:将走路的程序用步长和步速两个量来控制。步长必须定死,按做出来的图片中小人一组动画下来,移动的像素为准。步速是任意的,可以用游戏每帧或每 1/100 秒,人物移动的像素数来

2005-03-02 21:08:00 1324 1

原创 Tile Based Engine - 中的墙壁自动拼接处理

基于 Tile 的引擎中重复利用率最高的图素,除了地面就是墙壁了, 大家回想一下恺撒III 中的修筑城墙, 或是 Simcity2000 中拉扯电线, 道路,每种物体都只有十几种基本的图素来拼接,而交叉处理都是程序自动选择正确的图素. 假设我们做一个地图编辑器, 这个功能应该也不能少吧:-)   实际上, 这个问题早在文本模式的程序就已经出现过. 那就是表格线的处理. 文本模式下, 不能绘制直线,

2005-03-02 21:07:00 944

原创 Tile Based Engine的设计 - 遮挡处理

所谓 Isometric, 应该是指等距视角, 和透视相对, 指视野内的物体, 无论远近都用同一大小来表现. 而Tile 就是指的砖块, 我们平常所见的许多 2D 游戏, 都是 Tile 的. 比如新出的决战朝鲜, 还有去年的皇朝霸业;-), 这两个游戏都是典型的 Tile 游戏, 游戏中的元素被分割为一个个的砖块拼装起来. 不同的是, 前者是矩形的 Tile, 而后者是 Isometric 的.

2005-03-02 21:06:00 987

原创 Tile Based Engine的设计 - 坐标变换

Isometric Tile的处理比矩形的稍微复杂一点的地方在于屏幕是矩形的, 而反映出来的游戏世界的坐标轴有些不同. 无论是精灵的移动, 还是处理 Tile 都需要经过坐标变换. 而一个屏幕的区域在游戏世界的地图上却成了一个菱形. 我想,所有第一次设计 Isometric Tile 引擎的程序员都为这个烦躁过 (自己的感受啦;-) 不排除因为这个原因修改自己的原始设计的可能性 ^_^.   实际

2005-03-02 21:05:00 983

原创 Tile Based Engine的设计 - 精灵链表

通常说来, 第三人称 2D 游戏中通常把景物和精灵分开处理 (至少我是这样的) 尤其是游戏机上, 硬件对精灵有支持. 现在我们的显卡多也支持显存间的 keycolor 检查 Blt 操作, 实际就是用来加快精灵处理的 (也包括景物)   精灵在运动时, 往往是基于像素的 (虽然有人喜欢简化设计, 精灵在停止的时候仍旧是站在格子里) 而景物却是静止在格子中. 如果能使用更有针对性的方法分别绘制, 将

2005-03-02 21:04:00 991 1

原创 Tile Based Engine的设计 - Tile形状的选取

Tile Base Engine 的优点在于其处理速度. 如果我们设计 Isometric Engine 而无视这个优点, 那未免太亏了. 所以贪图一时编程或美工的方便, 将游戏设计成 Tile 大小随意, 而又不去发挥任意大小 Tile 的优势, (例如形状任意, Sprite 运动路线的任意等等) 将无法超越从前的游戏 Engine。我们必须向效率和表现力两方面中之一努力. 这次我选择了效率.

2005-03-02 21:02:00 767

原创 使用EclipseME开发J2ME程序

一、安装和配置准备您需要安装 Eclipse 3.0M9、J2ME Wireless Toolkit 2.1和EclipseMe,Eclipse是IBM公司资助的开源 IDE 开发环境,Eclipse正受到越来越多的开发人员的关注。J2ME Wireless Toolkit 2.1提供了运行 J2ME 应用程序所需要的库以及模拟器等。EclipseMe 插件可以让开发人员在 Eclipse 环境中

2005-02-24 21:47:00 698

原创 在无线J2ME设备上实现超文本传输协议

随着越来越多手提电话和个人数字助理开始融入到信息高速公路之上,从移动设备上访问Web站点变得越来越重要。Java开创了消费设备中小型的储存容量的先河,它是用于开发手机、传呼机及其他微型设备应用程序的理想语言。  在本文中,我们将学习如何从一个J2ME客户机上向服务器发送一条HTTP GET请求和一条HTTP POST请求。虽然这只是一篇探讨性质的文章,但是我还是假定读者已经熟悉Java,J2ME,

2005-02-24 21:43:00 513

原创 手机游戏开发综述

手机游戏开发综述一、背景介绍   现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。   现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。 除了语音数据以外,它们还可以发送和接收其它类型的数据。所以类似《传奇》、《千年》这样的网络游戏也可以在手机上实现。  以下内容为需要回复才能浏览  当然就处理能力

2005-02-21 16:45:00 896

原创 游戏设计十诫律

游戏设计十诫律.游戏设计十诫律-------------------------------------------------------------------------------   Travis S. Casey 1. 编写你所喜爱的游戏 不要人云亦云。只要你和你的朋友喜爱就可以了。 同样道理,不要编写某个游戏主题仅仅因为它当前流行而已。编写你所喜欢的题材, 这样才能激发你

2005-02-21 15:09:00 753

原创 默认构建器

        默认构建器是没有自变量的。它们的作用是创建一个“空对象”。若创建一个没有构建器的类,则编译程序会帮我们自动创建一个默认构建器。class Bird {  int i;}public class DefaultConstructor {  public static void main(String[] args) {    Bird nc = new Bird(); // defa

2005-02-21 13:41:00 528

原创 static关键字

        一旦将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起。所以尽管从未创建那个类的一个对象,仍能调用一个static方法,或访问一些static数据。而在这之前,对于非static数据和方法,我们必须创建一个对象,并用那个对象访问数据或方法。        对方法来说,static一项重要的用途就是帮助我们在不必创建对象的前提下调用那个方法。正如以后会看到的

2005-02-18 11:17:00 886

原创 角色扮演游戏引擎的设计原理

角色扮演游戏引擎的设计原理  角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家。它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色,去经历和体验各种不同的人生旅程或奇幻经历。这些体验都是在现实生活中无法实现的。在玩过许多游戏后,许多玩家都不再仅仅满足于一个游戏玩家的身份,而会思考游戏是如何制作的,并且打算制作一个自己的游戏,网

2005-02-17 16:07:00 665

原创 游戏外挂设计技术探讨(四)

(3)、注入外挂代码进入被挂游戏进程中  完成了定位和修改程序中调用API函数代码后,我们就可以随意设计自定义的API函数的替代函数了。做完这一切后,还需要将这些代码注入到被外挂游戏程序进程内存空间中,不然游戏进程根本不会访问到替代函数代码。注入方法有很多,如利用全局钩子注入、利用注册表注入挡截User32库中的API函数、利用CreateRemoteThread注入(仅限于NT/2000)、利用

2005-02-17 15:12:00 354

原创 游戏外挂设计技术探讨(三)

五、封包技术  通过对动作模拟技术的介绍,我们对游戏外挂有了一定程度上的认识,也学会了使用动作模拟技术来实现简单的动作模拟型游戏外挂的制作。这种动作模拟型游戏外挂有一定的局限性,它仅仅只能解决使用计算机代替人力完成那么有规律、繁琐而无聊的游戏动作。但是,随着网络游戏的盛行和复杂度的增加,很多游戏要求将客户端动作信息及时反馈回服务器,通过服务器对这些动作信息进行有效认证后,再向客户端发送下一步游戏动

2005-02-17 14:57:00 726

原创 游戏外挂设计技术探讨(一)

网络游戏盛行催生了各种外挂,让商家头痛不已,那么外挂是怎么设计的呢?看看本文就知道了  一、 前言   所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。  不管游戏

2005-02-17 14:54:00 1662

原创 网络游戏通讯模型初探(四)

互动与管理  说到互动,对于玩家来说是与其他玩家的交流,但对于计算机而言,实现互动也就是实现数据消息的相互传递。前面我们已经了解过网络通讯的基本概念,它构成了互动的最基本条件,接下来我们需要在这个网络层面上进行数据的通讯。遗憾的是,计算机并不懂得如何表达玩家之间的交流,因此我们需要提供一套可让计算机了解的指令组织和解析机制,也就是对我们上面简单提到的网络数据包(数据封包)的处理机制。为了能够更

2005-02-17 14:52:00 1020

原创 网络游戏通讯模型初探(二)

网络互连  在了解了网络游戏基本形态之后,让我们进入真正的实际应用部分。首先,作为网络游戏,除了常规的单机游戏所必需的东西之外,我们还需要增加一个网络通讯模块,当然,这也是网络游戏较为主要的部分,我们来讨论一下如何实现网络的通讯模块。  一个完善的网络通讯模块涉及面相当广,本文仅对较为基本的处理方式进行讨论。网络游戏是由客户端和服务器组成,相应也需要两种不同的网络通讯处理方式,不过也有相同之处,我

2005-02-17 14:51:00 921

原创 网络游戏通讯模型初探(三)

大家知道,游戏需要不断循环处理游戏中的逻辑并进行游戏世界的绘制,上面所介绍的Winsock处理方式均是以阻塞方式进行,这样就违背了游戏的执行本质,可以想象,在客户端连接到服务器的过程中,你的游戏不能得到控制,这时如果玩家想取消连接或者做其他处理,甚至显示一个最基本的动态连接提示都不行。  所以我们需要用其他方式来处理网络通讯,使其不会与游戏主线相冲突,可能大家都会想到: 创建一个网络线程来处理不就

2005-02-17 14:51:00 950

原创 网络游戏通讯模型初探(一)

本文就将围绕三个主题来给大家讲述一下网络游戏的网络互连实现方法  网络游戏与单机游戏有一个很显著的差别,就是网络游戏除了一个供操作游戏的用户界面平台(如单机游戏)外,还需要一个用于连接所有用户,并为所有用户提供数据服务的服务器,从某些角度来看,游戏服务器就像一个大型的数据库,提供数据以及数据逻辑交互的功能。让我们来看看一个简单的网络游戏模型执行流程: 客户机:L

2005-02-17 14:49:00 1362

原创 游戏外挂基本原理及实现

游戏外挂已经深深地影响着众多网络游戏玩家,今天在网上看到了一些关于游戏外挂编写的技术,于是转载上供大家参考   1、游戏外挂的原理   外挂现在分为好多种,比如模拟键盘的,鼠标的,修改数据包的,还有修改本地内存的,但好像没有修改服务器内存的哦,呵呵。其实修改服务器也是有办法的,只是技术太高一般人没有办法入手而已。(比如请GM去夜总会、送礼、收黑钱等等办法都可以修改服务器数据,哈哈)   修改游戏无

2005-02-17 14:48:00 660

原创 网络游戏外挂编写基础(四)

四:怎么冒充"客户端"向"服务器"发我们需要的封包?   这里我们需要使用一个工具,它位于客户端和服务器端之间,它的工作就是进行数据包的接收和转发,这个工具我们称为代理。如果代理的工作单纯就是接收和转发的话,这就毫无意义了,但是请注意:所有的数据包都要通过它来传输,这里的意义就重大了。我们可以分析接收到的数据包,或者直接转发,或者修改后转发,或者压住不转发,甚至伪造我们需要的封包来发送。   下面

2005-02-17 14:47:00 648

原创 网络游戏外挂编写基础(三)

三:怎么来分析我们截获的封包?   首先我们将WPE截获的封包保存为文本文件,然后打开它,这时会看到如下的数据(这里我们以金庸群侠传里PK店小二客户端发送的数据为例来讲解):   第一个文件:SEND-> 0000 E6 56 0D 22 7E 6B E4 17 13 13 12 13 12 13 67 1BSEND-> 0010 17 12 DD 34 12 12 12 12 17 12 0E

2005-02-17 14:46:00 561

原创 网络游戏外挂编写基础(二)

二:什么是封包?   怎么截获一个游戏的封包?怎么去检查游戏服务器的ip地址和端口号? Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为单位的信息传送,IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址、以及一些相关的控制信息。当一台路由器收到一个IP数据包时,它将根据数据包中的目的IP地址项查找路由表,根据查找的结果将此IP数

2005-02-17 14:41:00 676

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除