欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

DxLib做弹幕射击游戏(一)

发布时间:2024/3/26 编程问答 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DxLib做弹幕射击游戏(一) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

DxLib是神马东西?看名字,似乎是M$的DirectX的官方库?NONONO,这货其实是日本人开发出来的一个库,封装了很多DirectX的函数,使开发更方便。这个库在日本那边很流行,很多同人游戏都是使用这个库开发的。这跟大陆不同,我们更喜欢使用FLASH开发小游戏。

 

题外话,那个无比恶搞的猫玛丽就是使用DxLib来开发的。

 

先从小日本那边下载DxLib,官方的下载地址貌似是这个:

http://homepage2.nifty.com/natupaji/DxLib/

假设我将其解压到D:/DxLib_GCC目录。

 

DxLib自带了各种IDE的配置教程,如VC,C#,Delphi等。

我这里实验使用的是Dev-C++。虽然工具比较旧,但是用来做小实验还不错。(下面简称dc)

配置教程在这里:

D:/DxLib_GCC/help/dxuse_gcc.html

看不懂日文没关系,里面有一部分英文和汉字,大约摸懂就行。

实际上我也不懂日文,看着猜的,嘿嘿!

我根据自己的理解,整理了一下配置过程:

一、dc基本设置

1.[Tools]->[Compiler Options]

2.选择Diectories项

3.选择Libraries项

4.将DxLib目录加到里面去

5.然后选择C++ Includes项

6.将DxLib目录同样加到里面去

7.点OK完成设置

二、项目

1.[file]->[new]->[project...]

2.选择[Windows Application]

3.Project Option的name输入,例如DrawPixel,点OK

4.选择项目保存在哪里

5.项目会自动打开main.cpp,将其保存

三、项目设定

1.[Project]->[Project Option]

2.选择Parameters项

3.在[C++ compiler]中加入:

-DDX_GCC_COMPILE

-DDX_NON_INLINE_ASM

4.在[Linker]中加入:

-lDxLib

-lDxUseCLib

-ljpeg

-lpng

-lzlib

-ltheora_static

-lvorbis_static

-lvorbisfile_static

-logg_static

-lbulletdynamics

-lbulletcollision

-lbulletmath

5.点OK完成设置

 

有一个不方便的地方就是每个项目都要设置一次Project属性。

 

这个教程下有一个简单的demo程序:

 

 

#include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {if( DxLib_Init() == -1 ){return -1 ;}//若初始化失败则退出ChangeWindowMode(TRUE);//以窗口模式运行DrawPixel( 320 , 240 , 0xffff ) ;//画一个点WaitKey() ;//等待输入,pauseDxLib_End() ;//Dx结束return 0 ; }  

我不知道其他人能不能跑通,反正我是不行的,编译错误。

于是我修改了DxDirectX.h文件,将这句:

HRESULT  GetSeekingLongLong ( HRESULT (__stdcall D_IMediaSeeking::*pMethod)( LONGLONG * ), LONGLONG * pll );

改为:

HRESULT  GetSeekingLongLong ( HRESULT __stdcall D_IMediaSeeking::*pMethod ( LONGLONG * ), LONGLONG * pll );

居然就能编译通过了。运气不错!

 

 


运行结果就是一个黑色的窗口,正中间有一个小白点

 

总结

以上是生活随笔为你收集整理的DxLib做弹幕射击游戏(一)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。