WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程Win Mobile游戏开发游戏中地图的画法

游戏中地图的画法
作者:佚名  来源:本站整理  发布时间:2008-4-8 0:57:43


  用一个整数变量来控制移动。我们声明一个[nStartPosition]变量存放地图的出发点。我们不断的增加或减少这个变量,使屏幕看上去在左右移动。让我们试用这代码

<第四段源码>

static BYTE MapData[] =
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA"
"AAAAAAAAAAA";

....
case WM_TIMER:
nStartPosition += nOffset;
nStartPosition = max(0,min(nMapCX-8));
RenderTileMap(hOffscreenDC,MapData+nStartPosition,11,9);
UpdateDisplay(hWnd)
break;
case WM_KEYDOWN:
if((WORD)uParam == VK_LEFT)
nOffset = -1;
else
nOffset = 1;
break;
case WM_KEYUP:
noffset = 0;
break;
....

  程序从地图的最左方启动,当到最右方时则滚动屏幕,它会不停的循环直到你停止程序。

  这个技术能有效的改进你的游戏。它能被用于许多游戏。虽然比起第一种技术它需要更多的内存,但它绝对是值得一用的技术。


全景

  全景或视差是一种很流行的的技术,被许多游戏使用。当计算机有了更多的内存时这个技术被开发存储更大的图片。让我们看下面的图片。图片的从右到左都是没有任何缺陷的,并且图片非常的精细。

<图6>


  现在, 让我们试试这代码。

  <第五段源码>

static int nRunning;
static HBITMAP hBitmap1;
static HDC hDCBitmap;

case WM_CREATE:
hBitmap1 = LoadBitmap(...);
hDCBitmap = CreateComaptibleDC(GetDC(0));
SelectObject(hDCBitmap,hBitmap1);
nRunning = 0;
....
break;
case WM_TIMER:
if(++nRunning > nBitmapWidth)
nRunning = 0;
n1 = 320 - nRunning;
PatBlt(hOffscreenDC,0,0,240,320,BLACKNESS);
BitBit(hOffscreenDC,0,320-55,min(n1,240),55,hDCBitmap,nRunning,0,SRCCOPY);
if(n1 < 240)
BitBit(hOffscreenDC,n1,320-55,240-n1,55,hDCBitmap,0,0,SRCCOPY);
UpdateDisplay(hWnd);
break;
....

  如果你试了它你将会注意到,背景的移动是光滑的,漂亮的,并且和使用贴图比更容易实现。而且你可以以象素为单位移动背景。好,我们在背景上加上一个精灵看看。试试下面的代码;

  <源码6> 请从原文网站下载,这里就不提供了。

--> Clouds.bmp.zip
--> Mountain.bmp.zip
--> Road.bmp.zip
--> Panorama.demo.zip
...NYI

  它怎么工作?你能看到我们有3张平行的背景图片。先出现一张云照片它在最后面,是一个静止的图象。山脉图片是一个精灵。它被画在云照片上。最后一个是一条道路的图片。它放在最顶上。使用不同的移动速度,我们能生产非常有趣的游戏

  我们把它们融合到一起使用怎么样!!完全正确,并没说一个游戏中使用一种技术。为了做到领先一步,我们往往需要使用超过一种技术来生产更有趣的游戏。另外,计算机技术的发展回带来更新的开发技术。也许我们今天讨论的技术并不适合现在的PDA设备,但掌握它们肯定是不会错的。

  还有其他的技术吗?当然,还有有很多有趣实用技术,但在这里讨论它们显得太复杂了,所以我并没有在这个初级教程中涉及它们。

上一页  [1] [2] [3] 

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码