从自己的百度空间搬过来的。
出于对东方的喜爱,也想学习弹幕游戏的设计。
之前看到一个教程,四圣龙神录, 是一个开源仿东方的弹幕游戏教程。
60讲讲座地址(日文): http://dixq.net/rp/
游戏主页: http://dixq.net/sr/
看上去相当不错啊,有这样的教程,至少不会感觉摸不到门了,不知从何学起。
四圣龙神录的教程,用的是C语言和DxLib库写的。
DxLib 是日本同人界广泛使用的开源游戏引擎,相当于给DX重新打包编译的版本。
这是DxLib的主页
http://homepage2.nifty.com/natupaji/DxLib/index.html
想学习一下DxLib的使用,就去官网上下了,想配置好,学习一下。
下载页面:DXライブラリのダウンロード
使用方法:DXライブラリの使い方
下面那个 是手册和示例: DXライブラリの関数リファレンスマニュアル & サンプルプログラム
去下载页面,就可以看到下载链接。
因为我是想配置到Codeblocks上,使用的是MinGW编译器,所以选择
DXライブラリ Gnu C++用(Ver3.09)をダウンロードする(自己解凍形式(約10.2MB))
下下来的文件是 DxLib_GCC3_09.exe
下面那个 ソフトウエアレンダリング機能無しの軽量化パッケージ
好像是说 没有Software Rendering ,也就是没有软件渲染的版本。
下下来的文件是 DxLibNoneSoftDrawCode_GCC_MinGW_3_09.exe
那几个下载和上面的版本,大体上是一样的,只是 libDxDrawFunc.a 文件有区别,精简了软件渲染的功能。
再下面那个 DXライブラリ(Ver3.09)のプロジェクトをダウンロードする(自己解凍形式(約1.39MB))
好像是 DxLib 项目的打包下载链接,文件名是 DxLibMake3_09.exe 里面有一个VC6 的project,应该是自己编译 DxLib 用的。
然后来到使用方法的页面,可以从主页过去,也可以点刚才下载页里的
DXライブラリの使い方についてはこちらを参照して下さい
配置方法:
因为是MinGW 的GCC 编译器,所以就只看这个链接的页面
Gnu C++ ( Bloodshed Dev-C++ )の方はこちら (既に Dev-C++ ( 又は Gnu C++ ) を使っていて、その環境でDXライブラリを使いたいという方向け)
这个页面是以 Dev-C++ 作为介绍的。
Dev C++ 我以前也经常用,简单轻便。不爽的就是每次最后都要暂停,不然看不到cmd窗口的显示。
配置方法基本上都能看懂吧。
看不懂的话, 这里也已经有人写了教程了。http://yanglefeng.iteye.com/blog/1337059
十分感谢,这教程也给了我很多指引。
好了,问题是Codeblocks,按照类似Dev C++这样的配置编不了,这怎么办呢?
我就直接写最终解决方法吧,略去中间遇到的一些问题。
首先,Codeblocks 10.05 有自带编译器的版本,那个自带的MinGW是编不过DxLib的。
所以,要去另外下载一个MinGW。
Codeblocks 里面采用的,并不是官方的MinGW,而是 tdm-MinGW。
可以参考: http://wenku.baidu.com/view/3781680302020740be1e9ba0.html
注意文档中,官方MinGW 和 Codeblocks 所使用的MinGW的区别,用红字标注的关于sjlj 的功能,正是这个导致DxLib编不过的原因。
我
1. 下载TDM-GCC
下载页面:http://tdm-gcc.tdragon.net/download
我下的是,左上角的 tdm-gcc-4.7.1-2.exe
运行,Create一个,自己制定一个位置,选择Asia - Taiwan NCU ,然后配置编译器的时候,选择 MinGW Stable, C/C++,Install 安装
装好了编译器,就可以配置codeblocks了。
2.1
把Codeblocks 的编译器,设置到刚才装的MinGW Stable 文件夹。
设置方法不多说了吧,setting -compiler and debugger ,下面有很多标签,切换到Toolchain Executables 设置 下面的路径就OK了。
2.2
恩,然后,还是刚刚的那个设置页面,切换到Search directories ,在下面Compiler 下,点Add,
按照DxLib 配置页面里讲的,把下载后,双击解压的DxLib_GCC 下面的 プロジェクトに追加すべきファイル_GCC(MinGW) 这个文件夹路径填进去。
可以自己给他改个简短的名字。比如,我最后设置好是这样的。
2.3
然后,Linker 下也Add ,加上这个路径。
顺便一说,这个页面下面的勾,可以都不用打上。有些打上可能会多一些警告或者错误。
3. 建立项目
点击 File - New -Project 选择 Win32 GUI Project,Next 选Frame Based ,设置一个保存的地方, Finish。
右键点击刚建立的项目 ,选择Build Option。
然后,点击左上角Debug 和Release上面的项目名称,(这样做的修改是对Debug 和Release 都有效的)
点Linker Settings ,按照教程,在右边填入以下内容。
-lDxLib
-lDxUseCLib
-lDxDrawFunc
-ljpeg
-lpng
-lzlib
-ltheora_static
-lvorbis_static
-lvorbisfile_static
-logg_static
-lbulletdynamics
-lbulletcollision
-lbulletmath
切换到Compiler Setting , 选择下面的 Other Option ,填入
-DDX_GCC_COMPILE
-DDX_NON_INLINE_ASM
(其实,这个如果不填,到main.cpp 里面开头写上#define DX_GCC_COMPILE 和 #define DX_NON_INLINE_ASM ,效果也是一样的)
恩,接下来,把main.cpp 的内容替换为
#include "DxLib.h"
#define DX_GCC_COMPILE
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE);//以窗口模式运行
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1 ; // エラーが起きたら直ちに終了
}
DrawPixel( 320 , 240 , 0xffff ) ; // 点を打つ
WaitKey() ; // キー入力待ち
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
编译运行,应该就可以了。
补充:
1 编译运行,结果有个cmd 窗口,那是因为是 Debug 模式,切换到Release 模式就没有了。(就在工具栏那里,选一下)
2编译有很多警告,可能是因为 project 的 build option 里面,选上了 -Wall 这个选项的原因,去掉这个勾就好了。
3 如果出现,cannot find -lDxLib 等等, 应该是漏掉了 步骤2.3 。 我写的时候,就漏了这个。。。
4 如果出现 undefined reference to `_Unwind_Resume' 是MinGW 选错了,重新选安装的Stable 版本的MinGW 就好了。
参考的文章链接,感谢:
http://yanglefeng.iteye.com/blog/1337059
http://moge32.jugem.jp/?eid=136
http://orumin.blogspot.com/2012/07/mingw-dxlib.html
http://dixq.net/forum/viewtopic.php?f=3&t=10779
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2232