`
凉粉仔
  • 浏览: 40671 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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() ;//等待输入,pause
	DxLib_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 );

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

 

 


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

 

  • 大小: 13 KB
分享到:
评论

相关推荐

    DxLib样例程序

    DxLib是一个开源的图形库,它为游戏开发和图形编程提供了一系列的API,使得开发者可以轻松地在Windows平台上创建2D和3D图形应用程序。这个"DXLib样例程序"是一个很好的学习资源,用于理解如何利用DxLib库进行实际的...

    DxLib+源代码

    DxLib是一款开源的图形库,它为游戏开发和图形编程提供了一系列的API,使得开发者可以轻松地在Windows平台上创建2D和3D图形。DxLib+源代码的出现,意味着这个版本对原版DxLib进行了某种形式的扩展或优化,可能是增加...

    DxLib头文件和库文件

    资源DxLib.zip包括: DxLib.h| DxLib.txt| DxDirectX.h| DxLib_d.lib| DxUseCLib.lib| DxUseCLib_d.lib| libjpeg.lib| libjpeg_d.lib| libpng.lib| libpng_d.lib| ogg_static.lib| ogg_static_d.lib| vorbis_static....

    4.2_20210402_210537.docx

    3. **弹幕设计**:弹幕设计在游戏中指的是大量的子弹或者攻击以密集的方式快速飞向玩家,常见于弹幕射击类游戏。设计这类游戏的关键在于算法和性能优化,确保在屏幕上同时显示大量物体时不卡顿,同时保持游戏的可玩...

    DxLib VC3.03

    DxLib日版,纯日文解压界面,有一些示例,包含多个版本的DxLib,想要纯净版的请下载我的另一个资源。

    用于XTRAS开发的DXLIB 1.0

    DXLIB是一种常用的图形库,主要用于简化DirectX编程,尤其适合初学者和小型游戏开发者使用。在标题"用于XTRAS开发的DXLIB 1.0"中,我们可以推断DXLIB 1.0版本是专为扩展应用(XTRAS)的开发设计的,可能包含了便于开发...

    Test_DXLib:一些使用DXLib的测试程序

    我将对一些乏味的处理以及如何使用参考文献中未列出的功能做一个说明。 验证环境如下。 Visual Studio 2013社区 DX库3.14d版 假定该项目的路径位于C:\ lib \ DxLib_VC。 项目结构 GetHttp 使用DX库的功能搜索HTTP...

    DxLib:叉子DxLib 3.11f

    DxLib是一款基于C++的开源游戏开发库,它为开发者提供了一系列便利的函数和类,使得游戏开发变得更加简单快捷。这款库最初由日本的Yukihiro Matsumoto(又名"Matumoto")创建,它在游戏编程社区中受到了广泛的应用和...

    DxLib VC3.03纯净自解压版

    DxLib纯净自解压版,只有各VC,C,C++版本的代码。

    DxLib_BlockGolf

    【DxLib_BlockGolf】是一款基于C语言开发的简单游戏,它利用了DxLib图形库来构建一个块状高尔夫游戏。在这个项目中,我们可以深入学习C语言编程基础、图形绘制、游戏逻辑以及简单的物理模拟。 DxLib是日本Hatsune ...

    DxLib-VC-3.03.rar

    DX库是指C++语言的盖子,它易于使用DirectX和Windows相关程序,用于开发使用DirectX的Windows软件。...)这使程序员可以专注于游戏的本质。从相当正式的软件制作到游玩程度的迷你游戏制作广泛覆盖着!

    HyperBreak.rar_Visual_C++_

    今天,我们将深入探讨一款名为"HyperBreak"的弹幕打砖块游戏,通过其源代码来学习和理解Visual C++与Dxlib库的应用。Dxlib是一个日本开发者Yasuhisa Igarashi创建的,用于简化DirectX编程的库,特别适合初学者和快速...

    barrage_v.1.0

    "barrage_v.1.0"是一款使用C++编程语言开发的简单子弹射击游戏。这款小游戏展示了C++在游戏开发中的应用,以及如何利用外部库如DxLib来提升游戏性能和用户体验。下面我们将深入探讨这款游戏的开发背景、主要技术点和...

    制作东方游戏的参考资料1.docx

    例如,DXLib和dxlib是一个常用的日本游戏开发库,提供了方便的资源加载和管理功能。 - 对于初学者,可以参考CSDN上的博客(如https://blog.csdn.net/xiaoting451292510/article/details/103393007)学习如何正确...

    DXUI-Library:一个非常简单、动画华丽的界面库

    2.支持线性与非线性的贝塞尔曲线参数动画,仅通过一行代码即可实现一个华丽的控件动画。3.局部刷新技术,背景图再大,上层控件动画也能流畅播放。4.非常简单,开发者只需要考虑如何找到好看的颜色,仅通过几行代码...

    VB DirectX3D Meshes

    【VB DirectX3D Meshes】是一个使用Visual Basic(VB)编程语言实现的3D图形处理项目,它基于DirectX SDK中的原始"Meshes"示例进行了移植。在DirectX中,Meshes是3D模型的基本构建块,允许开发者创建、加载和渲染...

    ONUSystem (おぬシステム):ONUSystem是用于游戏和CG艺术的基于模块的框架。-开源

    ONUSystem 是一个专为游戏和CG艺术设计的开源框架,其特点是基于模块化设计。这样的设计使得该系统具有高度灵活性和可扩展性,允许开发者根据实际需求选择合适的组件,构建定制化的应用程序。ONUSystem的核心理念是...

    directx draw图库

    DirectX是由微软开发的一组API(应用程序接口),旨在帮助游戏开发者和软件工程师高效地生成高质量的多媒体内容,包括图形、音频和输入设备处理。在DirectX 9.0版本中,DXDraw提供了丰富的功能,使得2D图形渲染更加...

    梅花输入法梅花输入法梅花输入法

    "DxInput.alx"可能是指输入法的核心功能模块,"DxLib.cod"可能是包含通用函数和工具的库文件,"DxInput.cod"可能是输入法的特定功能模块,而"DxNotepad.cod"可能是一个附带的简易记事本程序,方便用户快速记录文字。...

    黑莓,手机,中文,点讯输入法

    点讯输入法是一款专为黑莓手机设计的中文输入法,极大地提升了用户在移动设备上进行中文输入的便捷性和效率。黑莓手机以其强大的商务功能和安全性能深受用户喜爱,但在中文输入方面,原生系统可能无法满足所有用户的...

Global site tag (gtag.js) - Google Analytics