当前位置: 首页 > news >正文

做网站的资料友情连接

做网站的资料,友情连接,贵阳商城网站建设,最专业的营销网站建设公司排名目录 一、小球 二、地图 三、积分系统 四、玩家场景 五、导出与发布 PONG是1972年由雅达利公司推出的游戏,主要玩法为玩家控制两个可以上下移动的板子击打屏幕中不断运动的球 一、小球 我们首先创建一个“Area2D”场景,在它下方创建“Collisi…

目录

一、小球

二、地图 

三、积分系统 

四、玩家场景

五、导出与发布 


PONG是1972年由雅达利公司推出的游戏,主要玩法为玩家控制两个可以上下移动的板子击打屏幕中不断运动的球 

一、小球

我们首先创建一个“Area2D”场景,在它下方创建“CollisionShape2D”和“Sprite2D”两个子节点:

 

在“CollisionShape2D”中,我们把“Shape”属性设置为“圆形”,在“Sprite2D”中把“Texture”属性设置为资源中的小球图形:

 

之后,我们调整“CollisionShape2D”的大小,按住红色小点拖动,使其更贴合图片尺寸:

之后,我们在资源文件夹中右键新建文件夹,将小球场景保存: 

 

 

完成后应该是这个样子:

 

接着,我们在“Area2D”上挂载一个脚本:

这里,我们让小球的位置每一帧加一个二维向量(1,0),将小球放在场景中间位置点击运行,即可看到如下结果:

可以看到小球在向右运动。 

现在,我们需要让小球按任意方向移动,需要在外部添加新的变量:

这里,我们定义了一个二维向量“vec”,并给它赋值(5,5),保存运行后,小球将会向右下移动:

 接下来,我们还需要为小球添加其他功能,例如当小球触碰到左右墙壁时,让小球回到屏幕中间位置:

这里,我们首先定义了一个名为“init_position”的变量用来存放小球的初始位置,在“_ready”函数中,当小球初次被加载时将小球位置记录到该变量内。同时,我们自定义了一个名为“resest()”的函数,功能是让小球的位置为初始位置。在“_process()”函数中,我们加了一个if条件判断,如果小球当前的x大于500,那么就让它回到初始位置。运行后会看到小球确实回到了初始位置:

之后,我们将if删掉,把小球放回原点(0,0)处,再次保存场景,小球场景就制作完毕了。

二、地图 

在资源管理器中,我们新建一个文件夹命名为“地图”,在里面新建一个“map”场景。在场景中新建两个“ColorRect” ,一个颜色为黑色,大小为1152×648,位置在(0,0);另一个颜色为白色,大小为3×648,位置在(576,0):

 为什么选取1152和648,是因为项目的屏幕大小就这样,我们可以在“项目——项目设置”里更改项目窗口大小:

接下来创建墙壁,和小球类似,我们创建一个“Area2D”,并在它之下创建子节点“CollisionShape2D” ,形状选择矩形,并调整相应位置与大小。创建好一个后按住“ctrl+D”可以快速复制节点与其子节点,将第二个墙壁也放在对应位置:

接着,我们来为墙壁挂载脚本。

首先,我们需要在小球脚本内的“_ready”函数中加一句:

self.add_to_group("Ball")

在小球被加载时,将会把小球加入到一个名为“Ball”的组内。

之后,在墙壁挂载如下内容: 

 在“_process”函数中,我们用for来遍历“get_overlapping_areas()”函数返回的内容,按住“ctrl”单击函数即可查看对应内容:

简单来说,对于每一个进入墙壁判定框的Area2D节点,我们都会判断其是否属于“Ball”组,如果属于,则调用自身的复位函数,使其回到屏幕中央。

为两个墙壁都挂载相同脚本,点击场景栏左上角链接按钮实例化场景,将小球场景添加进来,并调整位置至屏幕中间,点击运行:

可以看到小球在触碰到左右墙壁后可以正常复位。

接着我们来创建上下墙壁,基本方法与左右墙壁一致:

我们为上下墙壁挂载脚本:

这里没什么好讲的,当触碰到以后就让小球的速度加一个y方向的5,使小球向下移动。在脚本前面我们定义了一个变量y,并使用“@export”使其能在属性栏显示,我们可以看到上墙壁的属性栏多了一个来自“上墙壁.gd”的可调节项“Y”。我们为下墙壁也挂载相同的脚本,并将该值设置为-5。 

三、积分系统 

在资源文件夹内创建一个名为“积分系统”的文件夹,在里面创建一个脚本:

并使用上节讲过的知识创建单例:

之后,我们打开小球脚本加入如下代码:

这样,在每次调用复位函数时,可以判断小球是从哪个方向飞入墙壁的,从而更改计数的值。 

接着,我们创建一个文件夹,并在里面创建一个积分场景。添加两个“Label”节点,调整到合适位置,并添加如下脚本:

另一个显示玩家2的分数,“score1”改为“score2”即可。

接着,用和小球场景相同的方法把积分场景也加载到地图场景中:

 

点击运行,即可看到如下内容:

但可以看到,在小球碰到墙壁反弹时,计分板不止加了一分,这是因为在编写左右墙壁脚本时,我们的加分判断没有放在物理处理帧率中,而是放在了画面刷新帧率。要解决这个问题,我们只需要将“_process”中的代码复制粘贴到“_physics_process”中即可:

再次运行,可以看到积分系统恢复正常了。 

四、玩家场景

首先,我们先来添加玩家的键位映射:

 之后,与创建小球时一致,创建玩家1的反弹杆:

之后,在“Area2D”中挂载如下脚本:

 

另一个玩家的脚本与此大抵相同,只不过与球碰撞时给予的加速度为-3。

在这里,为了防止球拍出界,我们设定了一个-324到324的范围,只有在这个范围里面移动才会被加入坐标。

之后,与小球场景类似,将玩家1与玩家2的场景加载到地图场景中,适当调整位置:

到这里,游戏就已经基本完成了。

五、导出与发布 

点击“项目——导出”,添加Windows模板,这里会提示缺少导出模板,我们点击报错信息的管理模板,下载模板即可:

不过,现在我在这里无法下载到导出模板,并且找不到解决办法,唯一的途径就是手动下载:

下载红线划住的即可。 

下载好后,点击从文件安装,选择刚才下载好的文件即可。

导出成功后,即可看到文件夹里的.exe文件和.pck文件。运行时要保证两个文件处于同一路径下,否则会报错。 

http://www.tj-hxxt.cn/news/73743.html

相关文章:

  • 中国设备网sem 优化软件
  • 做网站seo怎么赚钱推广文章的推广渠道
  • 网站建设肆金手指排名8网络推广外包联系方式
  • 全国住房与城乡建设部网站seo云优化平台
  • php网站 mysql数据库又一病毒来了比新冠可怕
  • 网页制作收入百度关键词优化曝光行者seo
  • 企业网站管理系统设置查权重的软件
  • a站全名叫什么seo快速排名服务
  • 重庆铜梁政府官网网站百度指数网
  • 张家港网站建设制作seo类目链接优化
  • 做资源网站有哪些合肥网站制作推广
  • 找人做的网站第二年多钱网站推广建站
  • wordpress首页点击图片弹出视频沧州搜索引擎优化
  • 衡粘水佩网站建设营销计划书7个步骤
  • 上海微信网站设计制作优化建站seo门户
  • 麻将网站怎么做的怎么优化网站
  • 成都网站建设与维护软文案例大全
  • 免费发做网站网络平台怎么推广
  • 制作微信公众的网站开发新媒体运营怎么自学
  • 阳江专业手机网站制作公司seo中国官网
  • 地方性网站商城怎么做全网热搜榜第一名
  • 无锡网站建设 微信搜索引擎优化排名品牌
  • 雅安网站建设网站的营销推广方案
  • 如何在文本上做网站链接符号宣传推广的形式有哪些
  • 四川法制建设网站营销策划公司排名
  • 清溪镇做网站百度竞价排名模式
  • wordpress 前台上传seo百度贴吧
  • 网站开发中网页上传和网站发布重庆百度推广优化
  • 政府网站建设方案今日油价92汽油价格调整最新消息
  • wordpress直接显示文章奶糖 seo 博客