C++游戏编程教程(⼀)
参考书籍:
注:本教程所有代码的开发环境均为Visual Studio Preview 2022,C++标准是C++20。
⼀、初识SDL
SDL是⼀个跨平台的开源多媒体库,被⼴泛应⽤于游戏开发,。另外,SDL的官⽹上也有很多资料,可以。
⼀旦出现了这样的程序库,环境配置就会成为众多初学者最头疼的事。为了⼀劳永逸的解决这个问题,我们先新建⼀个⽰例项⽬,并进⾏以下配置:
1. ⾸先,我们要从上下载SDL库,下载Source Code和Runtime Binaries。下载之后,到include和lib两个⽂件夹,把它们拷贝到⼀
个固定的地⽅,以后就不要动它们了。
2. 进⼊新建的项⽬。我们先不管代码,到项⽬-属性-C/C+±常规,把include⽂件夹的路径添加到“附加包含⽬录”中。
左运学3. 接着,我们到链接器-常规,把lib⽂件所在的路径添加到“附加库⽬录”⾥。
西安附近好玩的地方
4. 然后,我们到链接器-输⼊,把⽤到的lib添加到“附加依赖项”⾥。我添加了这⼏个(以后⽤到别的可以添加):
5. 因为程序需要⽤到很多dll,如果每次创建程序都复制⼀次太⿇烦,所以我们可以让VS⽣成成功之后⾃动复制dll。到属性-⽣成事件-
⽣成后事件,添加以下代码到“命令⾏”:
达娜是哪个城市其中,XXX是下载的dll⽂件的路径。
⾄此,配置⼯作基本完成,接下来,我们要把这个⽰例项⽬保存成项⽬模板,⽅便以后使⽤。具体⽅法。
⼆、程序框架
在本教程中,我参考那本书,使⽤了⾯向对象的思想,⾯向对象的优点在这⾥充分体现出来了,特别是低耦合、易扩展的特性。体现在实际应⽤上,只要费⼀点功夫写⼏个框架类,后⾯的直接继承就⾏了,需要修改的也少之⼜少。
程序主要是由以下⼏个类组成的:
1.Game 类
这是最重要的⼀个类,它管理整个游戏的数据加载、⾓⾊和组件的运⾏。这个框架写好后,基本上不怎么⽤修改。
2.Actor 类
祝福党的语句十个字左右这个类是⾓⾊类,⽤来管理⼀个⾓⾊的状态,但只包括处理输⼊和更新位置,并不包括绘制。在Game类⾥有⼀个容器来存储所有的⾓⾊。
3.Component 类
内蒙古高考作文这个类是组件类,⽤来实现各种功能,每个组件都与⼀个Actor关联,在Actor⾥有⼀个容器来存储所有的组件。opengl32.lib SDL2.lib SDL2main.lib SDL2_ttf.lib SDL2_mixer.lib SDL2_image.lib 1
2
3隐蔽的角落结局
4
5
6xcopy "XXX\*.dll" "$(TargetDir)" /s /h /d /y xcopy "XXX\*.dll" "$(SolutionDir)" /s /h /d /y
1
2
4.DrawComponent类
这是⼀个特殊的组件类,专门⽤于绘制。它派⽣⾃Component类,但与基类不同的是,它并不存储在Actor的容器⾥,⽽是存储在Game 类⾥⼀个专门的容器⾥。
注:上⾯所说的“存储”,是指指针存储在容器⾥,对象本⾝都是new出来的。
其它的与游戏相关的所有⾃定义类,都是直接或间接派⽣⾃这⼏个类的。
今天就先讲到这⾥,下⼀篇博客⾥我会详细介绍Game类的实现。再见:-)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论