Game设计
一种2D游戏引擎的设计与实现
Kalet 发表于2009-03-20 浏览400 评论0
摘要对现有游戏引擎开发技术进行改进,提出了一种有效的2D游戏引擎设计与实现方法,该方法以引擎架构为基础,以累积渲染技术作为主要渲染加速手段;结合精灵与动画技术进行具体实现,达到游戏引擎设计的目的。最后通过该方法实现了一个2D游戏引擎,并用实验验证了该方法的有效性。 1、引言 2D游戏开发是游戏开发领域中一个不可或缺的重要分支,绝大多数休闲游戏与动漫游戏都是使用2D游戏技术开发实现的。2D游戏技术已经成为了手机及一系列小型设备游戏开发的主导技术。游戏引擎是游戏开发的最基础部分,为此我们提出了一种有效的2D游戏引擎的设计与实现方法。通过该方法,我们设计并实现了一款2D游戏引擎。一种2D...
Game设计
二维几何图形变换及其GDI+实现(转)
Kalet 发表于2009-03-20 浏览316 评论0
二维几何图形变换及其GDI+实现(转)2008年04月07日17:33:48作者:Starts(一切重新开始) 文章出处:http://www.cnblogs.com/begincsdn/archive/2005/07/14/193005.html二维几何图形变换及其GDI+实现(转)二维图形几何变换有平移,缩放,旋转,错切,反射等几种。二维图形由点或直线段组成的,而直线段又由两个端点连接而成的,从而对二维图形的变换都全部转换成点的变换。所以下面我们就点的变换原因来讨论。在讨论下面的问题之前,我们得先学习一个System.Drawing.Drawing2.Matrix类,该...
Game设计
GDI+和GDI的一些基本图形描绘方法函数对比
Kalet 发表于2009-03-20 浏览299 评论0
GDI+和GDI的一些基本图形描绘方法函数对比GDI+GDI//清空背景SolidBrushbrush(Color(255,255,255,255));usingnamespaceGdiplus;pGraphics->FillRectangle(&brush,0,0,m_winWidth,m_winHeight);//画笔准备intPenWidth=theApp.m_optionDlg.m_iSliderPenWidth;Penpen(Color(255,0,0,255),PenWidth);Penpen2(Colo...
Game设计
拼怪GDI+旋转
Kalet 发表于2009-03-20 浏览313 评论0
拼的怪,好像皮影戏的那种。想了下,有的2D游戏拼怪的效果大概真不是2D能实现的。拼了一个简单的,没有想象中的难,凑合过关。拼怪GDI+旋转除了3D引擎,2D的大概只有GDI+能够方便的旋转和缩放了。试了下,GDI+的旋转,真不是一般的好使啊!!嘿嘿嘿,《月下夜想曲》最喜欢的BOSS,galamoth!定义一个x,y偏移;各个部分都由这个偏移+或-获得;移动的话就移动偏移整体就随之移动了。GDI+图片旋转:GDI+有几种旋转方式。Gdiplus::Image有一个旋转,不过只能旋转一个角度。Gdiplus::graphicspath有一个旋转,不过那是绘制圆圈方块的旋转,和偶们没关系。我们要用的...
Game设计
GDI+点的旋转
Kalet 发表于2009-03-20 浏览328 评论0
这可是用GDI+碰撞检测的基础哦。转来转去,不要转得不知道什么位置了。GDI+是可以找到转了以后的点的位置的~~很好,很强大! 是用Graphic的TransformPoints,转下MSDN的代码吧。GDI+点的旋转 Graphicsgraphics(hdc); Penpen(Color(255,0,0,255)); //CreateanarrayoftwoPointobjects. Pointpoints[2]={P...
Game设计
常用代码(GDI+)
Kalet 发表于2009-03-20 浏览319 评论0
privatevoidDrawRect(Graphicsg,Rectanglerect,Colorbegin,Colorend){Brushbrush=newLinearGradientBrush(rect,begin,end,LinearGradientMode.Horizontal);常用代码(GDI+)g.FillRectangle(brush,rect);brush.Dispose();}常要在某个控件上画字符串:privatevoidDrawLoading(Controlctl,stringsText){Fontfont=newFont(...
Game设计
DotNet(C#)自定义WinForm界面控件之Window消息
Kalet 发表于2009-03-20 浏览334 评论0
写在前面:要自定义WinForm界面控件,WndProc方法的重写恐怕是必不可少了,它是对系统消息的捕获和处理方法,自定义控件时,可以捕获重画,鼠标移动等消息,然后重画控件,从而改变控件的外观,这样就可以达到自定义的功能,特别是美化控件,就一定要捕获系统消息,下面介绍一些重要的系统消息,这些消息基本上是继承.Net基础控件(如TextBox,Button之类)之后必不可少的需要捕获的消息。如WM_PAINT,WM_NCPAINT等,你可以不知道吗?如果你真的不知道,你可以说,你是个入门的GUI编程者吗?下面,只简单地列举消息和说明意思,但并不举例子说明。WM_PAINT=0x000F其中0...
Game设计
DirectX学习手记(二)
Kalet 发表于2009-03-20 浏览332 评论0
此回说说怎样用DirectDraw向表面上贴图,包括创建离屏表面,设置调色板,载入位图到表面,透明色,页面丢失等。二.用DirectDraw贴图DirectX学习手记(二)先让我们回忆一下上一回的内容。为了初始化DirectDraw我们首先创建了一个DirectDraw对象,然后设置了协作模式(全屏+独占),设置显示模式,然后创建主表面,提取后台缓冲表面指针。至此可以在后台表面上进行操作,然后flip到前台显示出来。最后程序结束前释放所有的directdraw对象。好了,现在说说怎样向后台表面贴图,即让屏幕显示图片。第一步:创建离屏表面离屏表面是你永远看不到的表面(所谓离屏),它通常被用来存...
Game设计
DirectX学习手记(-)
Kalet 发表于2009-03-20 浏览299 评论0
题记:玩了很多的游戏,不禁萌发了自己做游戏的念头,于是7月份从网上收集了N多资料。7月20几号在家开始了闭关式的学习,一直到昨天,我的第一个地图类封装完毕,并乘胜追击到凌晨3点,做好了地图编辑器的0.9版。早上起来觉得有点累(才睡了几个小时,呵呵),于是把这些天的学习经历回忆一下,权当是休息。这个过程是一个从对游戏编程一无所知到略识其理得过程,我想对于像我这样DirectX学习手记(-)的初学者应该有所帮助吧,至少可以少走些弯路。一.初识DirectX在放假之前,我拜读了金点时空softboy的《圣剑英雄传--英雄救美制作手札》一文。此文简述了RPG游戏的基本原理,通俗易懂,看完此文使人觉得...
Game设计
制作手札——RPG是怎样做成的
Kalet 发表于2009-03-20 浏览295 评论0
题目:《制作手札——RPG是怎样做成的》 备注:作者:汪疆成都金点工作室的首席程序员,你可以到他们的主页了解更多的情况。制作手札——RPG是怎样做成的文章以程序员的标准角度分析了一个RPG游戏所包含的各个部分。作为一名设计师,你可以不懂得如何去分析,但一定要能够读懂程序员的思路,这是每一个游戏开发者应具备的基本功。 制作手札---RPG是怎样做成的作者:汪疆 自从我们的第一个正式电脑游戏《冲击》完成之后,已经有很长一段时间没有碰这方面的东西了,不过在我心中好象一直在期盼着什么东西……目睹着当今五彩缤纷的游戏世界和国产游戏的尴尬境地,我忽然有一种莫名的冲动,做游戏的冲动。也许...