- 浏览: 238758 次
- 性别:
- 来自: 上海
最新评论
-
chase_the_air:
谢谢博主,不过有点小疑问:就是调用clock()函数求出的程序 ...
C/C++常用时间函数介绍 -
我的沉默你不懂:
再全面点就好了。给了很大启示,thanks!
C++调用JAVA方法详解 -
qq452492805:
...
SDL游戏开发教程07(图像的旋转和缩放) -
ding_fch:
[*]
C++调用JAVA方法详解 -
leexiaodong2009:
web项目中的解密,还有spring的问题怎么办啊???
C++调用JAVA方法详解
文章列表
由于本人对绘图软件不是很熟悉,所以很多图片做的不好,效果图如下
扫雷游戏是前面学习课程的一个综合应用,用到的新东西只有BOOST库的boost::tuples::tuple和随机数生成方法,关于BOOST库的用法可以到网上找资料,这里就不详细介绍了。该课程代码比较复杂,本人尽量将代码写的简单、将注释写的详细,但由于本人水平有限,可能效果不是很理想,请见谅。具体的代码见附件工程,这里就不贴出来分析了。
- 2009-06-01 08:19
- 浏览 3606
- 评论(0)
英语原文见http://www.wowwiki.com/TOC_format,这里翻译了部分,由于刚开始学习wow插件开发,TOC里面的很多东西没有亲自用过,所以翻译的不见得准确,我会在后续的学习过程中逐步完善该文档。
TOC文件内定义了当前插 ...
- 2009-05-27 15:40
- 浏览 4761
- 评论(0)
1.1 如欲采蜜,勿蹴蜂房
- 博客分类:
- 人性的弱点读后感
批评是没有用的,因它使人增加一层防御,而且竭力的替自己辩护。批评也是危险的,它会伤害了一个人的自尊,和自重的感觉,并激起他的反抗。
这情形你可以明白,人类自然的天性,是做错事只会责备别人,而绝不会责备自己,我们每个人都是如此的。所以你我当明天要批评别人的时候,就想想卡邦、克劳雷,和福尔这些人。
批评就像饲养的鸽子,他们永远会飞回家的。我们需要理解,我们要矫正或谴责的人,他也会为自己辩护,而反过来谴责我们的。就像温和的塔夫特,他要这样说:'我不知怎么样做,才能和我所已做的不同。'
你所认识的人,你愿意他改变、调整,或是进步吗?是的,那是最好不过的。可是为什么不从你自己先开始呢?从自 ...
- 2009-05-13 14:32
- 浏览 1516
- 评论(0)
本节将模仿ogre的ScreenManager编写一个SDL的ScreenManager。效果图如下
这是利用场景管理器创建的一个扫雷游戏界面,为后面的扫雷游戏做准备。
这里的场景管理器主要有四个类,SDLEntity(实体)、SDLSceneNode(节点)、SDLLayer(层)、SDLSceneManager(场景管理器)。
他们的关系是:一个SDLSceneManager管理多个SDLLayer,一个SDLLayer有多个SDLSceneNode,一个SDLSceneNode上面关联一个SDLEntity。
SDLSceneMan ...
- 2009-01-03 10:28
- 浏览 3255
- 评论(0)
这节介绍怎么把前面的代码移植到VC8中来。
1、参考前一节(http://public0821.iteye.com/blog/306209
),将SDL环境配置起来。
2、删除前一节工程中的cpp文件,将eclipse中的代码添加到前一节创建的工程中来。(这里不介绍怎么添加,相信凭大家的智商,这个不是问题)
3、编译配置BOOST环境。(参考http://public0821.iteye.com/blog/306179
)
4、配置SDL_img和SDL_ttf。
a、参考(http://public0821.iteye. ...
- 2008-12-29 15:56
- 浏览 2231
- 评论(0)
本文中将要介绍的是:windows环境下VC8 SP1 + SDL环境的搭建,主要参考lazyfoo.net上的介绍,网址http://lazyfoo.net/SDL_tutorials/lesson01/windows/msvsnet0508e/index.php
。该网站上还详细的介绍了其他环境下的配置方法,见http://lazyfoo.net/SDL_tutorials/lesson01/index.php
,如果你喜欢用别的环境来做SDL开发,可以参考其中的方法进行配置。
这里介绍VC8环境中SDL的配置是为将代码迁移到VC8中做准备,前面介绍的代码全部都是 ...
- 2008-12-29 11:16
- 浏览 3156
- 评论(0)
首先到boost的网站上下载最新的BOOST源代码和编译好的JAM,地址:http://www.boost.org/users/download/
。这里下载的是 boost-jam-3.1.17-1-ntx86.zip
和 boost_1_37_0.tar.bz2
1、解压boost和jam。
2、cmd下进入boost1.37的解压目录,运行bjam install,bjam会自动检测系统环境,默认编译VC版本的库,如果存在多个VC版本,会编译一个较高版本的库(我系统中有VC6和VC8,最后生成的是VC8版本的库)。
3、等待 ...
- 2008-12-29 10:20
- 浏览 5640
- 评论(0)
效果图
默认的SDL库中没有提供surface的旋转和缩放函数,要实现这些功能,有两种方法,一种是自己写,另一种是找一个支持旋转和缩放的SDL扩展库。很明显,第一种方法不适合我,只能去找一个SDL扩展库。
通过在SDL网站上搜索,找到了两个库:SpriG和SDL_gfx。
其中SpriG我试用了他的旋转函数,结果发现旋转后不是少了些东西,就是多点东西,始终不能达到要求,想修改他的源代码,发现代码有些乱,于是放弃了SpriG库。这个过程中也有可能是我的理解或者使用出了问题,在这里将这个库列举出来,是给大家提供一个参考,有能力的话你可以利用他的思想, ...
- 2008-12-20 09:34
- 浏览 9095
- 评论(1)
在利用SDL开发程序时,由于是窗口程序,所以std::cout<<""<<std::endl都不知道输出到哪里去了。但有时为了跟踪程序的运行状态,需要打印代码运行时的一些信息,这时就需要一个方便使用的日志记录类。
要在文件中记录日志信息,不可避免的就要读写文件和获取系统时间,遗憾的是C++标准中没有这方面的库。这时就需要使用BOOST库,BOOST中提供了很方便的操作文件和时间的库。
前面第一节介绍的mingw里面包含了boost1.37,但没有包含编译好的动态库,需要我们自己手工编译,然后放到mingw中来,这里(http:/ ...
- 2008-12-17 16:09
- 浏览 5047
- 评论(0)
本节将介绍如何加载其他格式的图片,同时,介绍如何显示文字。效果图如下
其中背景图片是我从网上下载的一张JPG图片,已经将它上传在了附件中。
显示其它格式图片:
要显示png、jpg、gif等格式的图片,我们需要下载SDL_image库
http://www.libsdl.org/projects/SDL_image/
下载上图中标记出来的文件,然后解压。
1、将解压后include目录下的SDL_image.h文件拷贝到C:\MinGW\include\SDL目录下
2、将解压后include目录下的SDL_image.lib文件拷贝到C: ...
- 2008-12-15 16:31
- 浏览 6165
- 评论(0)
前面的章节介绍了一个简单窗口的开发,这节将介绍如何把前面用到的东西用C++封装起来。
为什么用C++封装起来:
1、C语言没有异常机制,每次调用一个函数都需要通过检查返回值来判断是否成功,比较麻烦。
2、对我个人而言,开发效率上C++要优于C语言,并且C++的代码要容易组织管理,写出来的代码也更容易理解。
封装的主要部分:
1、将所有的SDL函数都用类包装起来,对于需要做返回值判断的函数,在包装的地方进行判断,然后决定是否抛出异常。这样对于调用者来说就不需要再做返回值判断了。
2、新建一个SDL类。该类用到了单例模式和工厂模式, 提供了访问所有SDL函数的入口。
...
- 2008-12-12 15:23
- 浏览 5765
- 评论(0)
首先到boost的网站上下载最新的BOOST源代码和编译好的JAM,地址:http://www.boost.org/users/download/
。这里下载的是
boost-jam-3.1.17-1-ntx86.zip
和
boost_1_37_0.tar.bz2
这里假设mingw的安装目录为C:\MinGW
1、将C:\MinGW\bin设置到环境变量的PATH中
2、解压下载下来的两个包,将bjam.exe拷贝到boost1.37的解压目录中。最后文件目录格式如下
3、在CMD下进入boost1.37的解压目录,运行bjam &qu ...
- 2008-12-12 09:43
- 浏览 17142
- 评论(5)
对于窗口程序来说,消息循环和事件响应是非常重要的,这节将介绍如何利用SDL提供的API函数实现消息循环和键盘ESC键响应。
将上节中的这部分代码注释掉:
//if( SDL_Flip( screen ) == -1 )
//{
// return 1;
//}
//SDL_Delay( 2000 );
...
- 2008-12-11 10:17
- 浏览 7109
- 评论(0)
本节将介绍如何创建一个窗口并在上面贴一副图片,效果如下:
显示图片是2D游戏开发的基础,游戏开发的大部分工作是在处理用户的输入,然后调整显示在界面上的图片。这个例子就是完成最基本的功能:显示图片。由于没有消息循环和事件响应,窗口不能移动,只能用任务管理器关闭。
代码如下
:
#include "SDL/SDL.h"
#include <string>
const int SCREEN_WIDTH = 800;
const int SCREEN_HEIGHT = 600;
const int SCREEN_BPP = 3 ...
- 2008-12-10 17:08
- 浏览 6573
- 评论(0)