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做弹幕射击游戏(一)相关推荐
- DxLib做弹幕射击游戏(四)——敌机碰到墙壁
代码如下: #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, ...
- DxLib做弹幕射击游戏(三)——敌机移动
这次仍然是来直接看代码: #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevIn ...
- DxLib做弹幕射击游戏(二)——画一台敌机
直接看代码: #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance ...
- Python也有做大型游戏的潜力?原来我们小看了Python,无所不能!!
前言 在小编以前还没怎么接触很多编程语言时,都是认为游戏(端游,手游)都是用C做出来了!不知道大家有没有这么想过,反正我是这样的.后来慢慢接触多了,才知道并不是所有的都是这个样子的! 学习python ...
- c语言编程数独游戏,编程做数独游戏
数独游戏非常好玩,可以训练玩家的逻辑推理能力.数独游戏的规则是: 1.在9×9的大九宫格内,已给定若干数字,其他宫位留白,玩家需要自己按照逻辑推敲出剩下的空格里是什么数字. 2.必须满足的条件:每一行 ...
- python做的大型游戏_Python有做大型游戏的潜力吗?
由于最近我要考试忙不过来没修改回答,谢谢评论区大们的指正,我认识到的pygame库确实可以做游戏,但是pygame限制很多,特别是做大型游戏方面,3D还没有相关的优化方法等(3D游戏,pygame表示 ...
- 关于javaswing做的游戏的一点小总结x
之前看了几个swing小游戏,也动手敲了下,比如俄罗斯方块,小鸟,"是男人就坚持30秒",射击游戏等,有点小总结: 所有swing做的游戏,无非是一种页面,一种可以与人交互,可以控 ...
- 十种做Flash游戏赚钱的方法
如果你做Flash游戏纯粹是为了兴趣或者是好玩,那为什么不一边玩一边赚钱呢?我曾做过很多Flash游戏并因此赚了不少钱.下面我就要公开我总结的十条做Flash游戏赚钱的秘笈. 好了,现在我们切入正题, ...
- java做小游戏扫雷(附源码)
下载解压即可玩:扫雷 项目代码下载:java代码 目录 图片 怎么自己也能做 代码细节 感受 全部代码 GameWin.java类 : MapBottom.java类: GameUtil.java类: ...
最新文章
- html中Marquee属性详解
- orcle10忘记密码
- 在职场中,长得漂亮真的有用吗?
- leetcode542. 01 矩阵(bfs/dp)
- idea javafx添加maven_JavaFX让UI更美观CSS样式
- Hbase常用数据库操作类
- 从软件project的角度写机器学习3——主要监督学习算法的project性分析
- 财务部门如何用OKR管理法?看最新OKR模板
- python 小海龟 教案_幼儿园小班健康活动《勇敢的小海龟》教案
- 五十个产品可靠性性能提高的方法详解
- 星际争霸2的AI环境搭建
- 主机名 域名 网站名 URL
- 最通俗易懂的nginx
- 关于cuda、cudnn环境配置
- 单片机、嵌入式错综复杂的关系分析
- php实现猫眼电影院选座思路,高仿猫眼电影选座(选票)模块
- 全球地名中英文对照表(Q-R)
- 201871010105-曹玉中《面向对象程序设计(java)》第四周学习总结
- EMC电磁兼容3:仪器受电磁辐射干扰怎么办?
- arcgis图斑尖角检查_ArcGIS消除零碎图斑(Eliminate)
热门文章
- VScode中使用svn常用简单操作
- php object 数组赋值,php object转数组示例
- 辐射能量降低裂变效应工程第二期
- 软件调试方法--小黄鸭调试法
- DPDK实战之skeleton(basicfwd)
- 青少年软件编程(C语言)等级考试试卷(一级)
- HUAWEI华为笔记本电脑荣耀MagicBook Pro i5(HBL-W19)HONOR原装出厂Windows10系统恢复原厂OEM系统1809
- JAVA实验1.7-5 以英里计的平均速度 (7 分)
- iOS 动画实战之Lottie动画
- Mac npm 设置淘宝镜像