`
public0821
  • 浏览: 238767 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SDL游戏开发教程13(总结和代码调整)

阅读更多

    到目前为止,该教程已经涵盖了开发一般桌面游戏所需要的大部分技术,后续主要集中在网络这块的开发,到时候将会介绍一些基本的网络编程知识。

    SDL游戏开发是我第一次接触,写这个教程也是对自己的学习过程做一个记录和总结,希望对想要了解SDL游戏开发的人有些帮助。在编写这个教程的过程中,暴露了一些问题,在此,自己总结一下:

    1、开始这个教程的时候,用的是MINGW+ECLIPSE环境,最初的想法是通过熟悉这套环境,以后到LINUX环境下做SDL游戏开发,会容易上手。结果是,这套环境在windows下并不太好用,一个原因是GCC和VC8两个编译器有些差别,错误提示的方式不一样,并且对异常的处理方式也不一样。另一个原因是DEBUG不好用,速度慢,还常启动不起来或者出些莫名其妙的错误。通过这次得出的结论是:对于开发环境的选择,一定要选当前系统平台下的主流开发工具,毕竟用的人多,BUG少。对于学习来说,如果代码量少,可以尝试选择其他系统平台主流开发工具的当前系统版本,为以后跨系统平台的开发积累经验。

    2、SDLCore.h文件的设计。开始的时候,将这个头文件设置成这样主要有三个目的:a、工厂类模式,这里统一生成常用类的对象,并且保证对象只有一份。b、将常用类集中到这里,便于使用的人了解这个库提供了哪些功能,提供一个统一的代码查看入口。c、使用方便,只要一个SDL::就什么都出来了。但造成的结果是过渡依赖,比如你只用到了sceneManager,并没有用到别的类,那么包含了这个头文件后,当其他类的头文件发生变化,当前类也需要重新编译,造成编译时间变长;同时由于过渡依赖,造成头文件包含关系过于复杂,常常出现找不到类定义的错误。

 

基于第二个原因,重新设计了SDLCore.h文件,将它定位为只供外部模块调用的头文件。模块内部类之间相互包含的时候尽量最小化依赖,只包含自己依赖的头文件。

分享到:
评论

相关推荐

    SDL游戏开发经典教程03源代码

    通过这个教程,你将深入理解SDL事件处理机制,这对于任何使用SDL开发的游戏至关重要。实践这些源代码,不仅可以提升你的编程技巧,还能让你更好地理解游戏如何响应用户的实时操作。继续学习和实践,你将能够创建出更...

    SDL游戏开发教程07(图像的旋转和缩放)

    在本教程中,我们将深入探讨SDL(Simple DirectMedia Layer)游戏开发中的图像处理技术,特别是图像的旋转和缩放。SDL是一个跨平台的多媒体库,主要用于开发图形、音频和输入等游戏相关的功能。在这个教程中,我们将...

    SDL游戏开发教程05(显示文字和其他格式的图片)

    在本教程中,我们将深入探讨如何使用SDL库在游戏开发中显示文字和其他格式的图片。SDL(Simple DirectMedia Layer)是一个跨平台的开发库,它为游戏和其他多媒体应用提供了底层的图形、音频和输入功能。这个教程适用...

    Mini6410上移植SDL游戏的详细步骤

    在Mini6410上移植SDL(Simple DirectMedia Layer)游戏,可以让开发人员在这款平台上实现多媒体应用和游戏的开发。SDL是一个跨平台的开发库,主要负责图形、音频、输入设备等多媒体功能,为游戏和多媒体软件提供了一...

    sdl学习教程

    SDL(Simple DirectMedia Layer)是一个跨平台的开发库,用于处理多媒体内容,如图形、音频和输入设备。它被广泛用于游戏开发和其他实时应用程序。在本教程中,我们将深入探讨SDL的学习过程,从基础概念到高级特性,...

    sdl教程下载

    SDL(Simple DirectMedia Layer)是一个跨平台的开发库,主要用于处理多媒体和图形用户界面,尤其在游戏开发领域中被广泛使用。它提供了低级别的硬件访问,包括音频、图形、输入设备和时间管理等功能,简化了游戏...

    linux sdl 库和头文件

    Linux下的Simple DirectMedia Layer(SDL)是一个开源的跨平台开发库,主要用于处理多媒体、图形界面、游戏开发等任务。SDL库提供了丰富的功能,包括硬件加速的2D图形、音频输入和输出、键盘和鼠标事件处理、游戏...

    SDL2-2.0.4

    【标题】"SDL2-2.0.4" 是一个重要的软件...总结来说,"SDL2-2.0.4"是游戏开发和多媒体应用的重要工具,通过其丰富的功能和跨平台支持,极大地简化了底层系统交互的复杂度,使得开发者能够专注于游戏和应用的核心逻辑。

    小游戏开发实例教程 c++版

    《小游戏开发实例教程 c++版》是一本专为C++初学者和游戏爱好者设计的教程,旨在通过实际的游戏开发案例,帮助读者掌握C++编程语言在游戏开发中的应用。教程覆盖了从基本的C++语法到游戏编程的核心概念,包括图形...

    SDL2-2.0.16,包括include和lib

    SDL(Simple DirectMedia Layer)是一个开源跨平台的多媒体开发库,主要用于快速开发游戏和其他实时图形应用程序。它提供了对音频、视频、鼠标、键盘、 joysticks 和传感器等硬件设备的低级访问。SDL 的设计目标是...

    C++ SDL教程翻译 Lesson 03博文的附件

    SDL是一个跨平台的多媒体库,它为开发人员提供了丰富的功能,包括图形渲染、音频处理、键盘和鼠标输入、游戏控制器支持等。在Lesson 03中,我们将专注于如何使用SDL来构建一个基于事件的程序。 ### 1. SDL事件模型 ...

    SDL_Download

    在游戏开发和图形用户界面设计领域,Simple DirectMedia Layer(SDL)是一个非常重要的外部库。SDL_Download是指获取和安装SDL库的过程,它使得开发者能够方便地处理多媒体资源,包括音频、视频、输入设备管理以及...

    SDL2-2.0.3库

    SDL2的官方文档详尽,社区活跃,提供了丰富的示例代码和教程,帮助开发者快速上手。 综上所述,`SDL2-2.0.3`是一个功能强大的跨平台开发库,对于任何涉及多媒体和游戏开发的项目来说,都是一个不可或缺的工具。...

    SDL.rar_sdl_sdl api

    SDL(Simple DirectMedia Layer)是一个跨平台的开发库,主要用于编写游戏和其他实时多媒体应用程序。它提供了一个低级别的硬件访问接口,使得开发者可以轻松地在多种操作系统上编写高效的应用程序,如Windows、...

    SDL2-2.0.12.zip

    5. **文档**:可能包括API参考手册、用户指南或者开发教程,帮助开发者快速上手。 6. **配置文件**:用于设置编译选项和平台特定的配置。 7. **许可证文件**:表明了SDL2的开源许可条款,通常是MIT或 zlib许可,...

    如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器

    FFmpeg和SDL是两个在开发视频播放器时常用的开源库。FFMPEG是一个强大的多媒体处理框架,包含了视频编码、解码、格式转换等功能,而SDL(Simple DirectMedia Layer)则是一个跨平台的多媒体库,专注于图形渲染、音频...

    SDL Game Development 及源码.zip

    本教程将深入探讨SDL 2.0在C++中的应用,以及如何利用它来开发游戏。 **一、SDL基础知识** 1. **安装与配置**:首先,你需要在你的开发环境中安装SDL 2.0库。这通常涉及下载库文件,设置环境变量,并链接到你的...

    An ffmpeg and SDL Tutorial

    SDL则是一个跨平台的开发库,主要用于图形、音频处理以及游戏开发。这个"An ffmpeg and SDL Tutorial"提供了一个学习如何结合使用这两者的基础教程。 教程中的每个文件对应一个逐步进阶的实例,从基础操作开始,...

    android ndk 移植的sdl-1.3

    在Android平台上进行游戏开发或者图形界面应用开发时,有时会需要用到SDL(Simple DirectMedia Layer)库,这是一个跨平台的开发库,主要用于处理底层的多媒体硬件交互,如音频、图形和输入设备。本教程将详细讲解...

Global site tag (gtag.js) - Google Analytics