c++游戏教程使用easyx做出大飞机

 更新时间:2022年08月19日 17:18:18   作者:诗一样的代码  
这篇文章主要为大家介绍了c++游戏教程使用easyx实现大飞机示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

效果图

这个打飞机小游戏素材都很一般,直接网上抠图下来的。

但我们应该学习一下怎么入门这一款经典小游戏。

游戏对象

首先游戏对象就这几个东西

// 全局画板
IMAGE bk;
IMAGE BK;
IMAGE Plane;
IMAGE Diren;
IMAGE Zidan;

这个游戏用到游戏插件easyX,我们想载入这几个图片。

//预加载资源,需要加载了之后才能用
void loadRes()
{
	loadimage(&bk, _T("res\\bg.png"));
	loadimage(&BK, _T("res\\bg.png"));
	loadimage(&Plane, _T("res\\plane.png"));
	loadimage(&Diren, _T("res\\diren.png"));
	loadimage(&Zidan, _T("res\\zidan.png"));
}

子弹和敌人的结构体先设计好,其实就是用来控制他们的位置的。

struct ZIDAN
{
	int x;
	int y;
};
struct DIREN
{
	int x;
	int y;
};

子弹和敌人是否碰撞,这里需要写碰撞检测,其实就是几点两点之间的距离就可以,这是最经典的碰撞算法。

bool isPeng(int x2,int y2,int x1,int y1)
{
	int result=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
	if(result<2500)
	{
		return true;
	}
	return false;
}

子弹与敌人碰撞之后,敌人就毁灭。这里面只需要把敌人移出屏幕就可以,因为子弹和敌人都是可以重复利用的,所以最好做一个对象池,可以重复用上。

	//判断子弹和飞机是否相撞
		for(i=0;i<8;i++)
		{
			for(int j=0;j<5;j++)
			{
				if(isPeng(zidans[j].x,zidans[j].y,direns[i].x+25,direns[i].y+15))
				{
					direns[i].y = -100;
				}
			}
		}

需要wsad进行控制摇杆,飞机飞行

		if (_kbhit()) 
		{
			char ch = _getch();
			if (ch == 'w') 
			{
				planeY-=5;
			}
			if(ch == 's')
			{
				planeY+=5;
			}
			if(ch == 'a')
			{
				planeX-=5;
			}
			if(ch == 'd')
			{
				planeX+=5;
			}
		}

以上就是c++游戏教程使用easyx做出大飞机的详细内容,更多关于c++ easyx飞机游戏的资料请关注脚本之家其它相关文章!

相关文章

  • element-ui中up-load组件实现图片上传回显

    element-ui中up-load组件实现图片上传回显

    在项目开发的时候很多人都会用到图片上传,本文主要介绍了element-ui中up-load组件实现图片上传回显,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • vue如何实现未登录不能访问某些页面

    vue如何实现未登录不能访问某些页面

    这篇文章主要介绍了vue如何实现未登录不能访问某些页面问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vite配置@别名以及让vscode智能提示路经的步骤

    vite配置@别名以及让vscode智能提示路经的步骤

    这篇文章主要给大家介绍了关于vite配置@别名以及让vscode智能提示路经的步骤,文中通过代码示例以及图文介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下
    2023-08-08
  • vuex存储token示例

    vuex存储token示例

    今天小编就为大家分享一篇vuex存储token示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)

    vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)

    这篇文章主要介绍了vue-video-player 解决微信自动全屏播放问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • VUE 动态组件的应用案例分析

    VUE 动态组件的应用案例分析

    这篇文章主要介绍了VUE 动态组件的应用,结合具体案例形式分析了vue.js动态组件的应用场景、解决方案及相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • 说说如何在Vue.js中实现数字输入组件的方法

    说说如何在Vue.js中实现数字输入组件的方法

    这篇文章主要介绍了说说如何在Vue.js中实现数字输入组件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • vue3+el-table实现行列转换

    vue3+el-table实现行列转换

    在处理文本数据的时候,我们经常会需要把文本数据的行与列进行转换操作,这样更方便查看,本文就详细的介绍了vue3+el-table实现行列转换,感兴趣的可以了解一下
    2021-06-06
  • Vue中this.$emit和this.$on的使用

    Vue中this.$emit和this.$on的使用

    这篇文章主要介绍了Vue中this.$emit和this.$on的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 详解Vue3.0中ElementPlus<input输入框自动获取焦点>

    详解Vue3.0中ElementPlus<input输入框自动获取焦点>

    这篇文章主要给大家介绍了关于Vue3.0中ElementPlus<input输入框自动获取焦点>的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue3.0具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04

最新评论