如何做网站推广营销,重庆市建设工程信息网资质系统,黄骅港海边景点,网推是干什么的目录
一、小球
二、地图
三、积分系统
四、玩家场景
五、导出与发布 PONG是1972年由雅达利公司推出的游戏#xff0c;主要玩法为玩家控制两个可以上下移动的板子击打屏幕中不断运动的球
一、小球
我们首先创建一个“Area2D”场景#xff0c;在它下方创建“Collisi…目录
一、小球
二、地图
三、积分系统
四、玩家场景
五、导出与发布 PONG是1972年由雅达利公司推出的游戏主要玩法为玩家控制两个可以上下移动的板子击打屏幕中不断运动的球
一、小球
我们首先创建一个“Area2D”场景在它下方创建“CollisionShape2D”和“Sprite2D”两个子节点 在“CollisionShape2D”中我们把“Shape”属性设置为“圆形”在“Sprite2D”中把“Texture”属性设置为资源中的小球图形 之后我们调整“CollisionShape2D”的大小按住红色小点拖动使其更贴合图片尺寸 之后我们在资源文件夹中右键新建文件夹将小球场景保存 完成后应该是这个样子 接着我们在“Area2D”上挂载一个脚本 这里我们让小球的位置每一帧加一个二维向量10将小球放在场景中间位置点击运行即可看到如下结果 可以看到小球在向右运动。
现在我们需要让小球按任意方向移动需要在外部添加新的变量 这里我们定义了一个二维向量“vec”并给它赋值55保存运行后小球将会向右下移动 接下来我们还需要为小球添加其他功能例如当小球触碰到左右墙壁时让小球回到屏幕中间位置 这里我们首先定义了一个名为“init_position”的变量用来存放小球的初始位置在“_ready”函数中当小球初次被加载时将小球位置记录到该变量内。同时我们自定义了一个名为“resest()”的函数功能是让小球的位置为初始位置。在“_process()”函数中我们加了一个if条件判断如果小球当前的x大于500那么就让它回到初始位置。运行后会看到小球确实回到了初始位置 之后我们将if删掉把小球放回原点00处再次保存场景小球场景就制作完毕了。
二、地图
在资源管理器中我们新建一个文件夹命名为“地图”在里面新建一个“map”场景。在场景中新建两个“ColorRect” 一个颜色为黑色大小为1152×648位置在00另一个颜色为白色大小为3×648位置在5760 为什么选取1152和648是因为项目的屏幕大小就这样我们可以在“项目——项目设置”里更改项目窗口大小 接下来创建墙壁和小球类似我们创建一个“Area2D”并在它之下创建子节点“CollisionShape2D” 形状选择矩形并调整相应位置与大小。创建好一个后按住“ctrlD”可以快速复制节点与其子节点将第二个墙壁也放在对应位置 接着我们来为墙壁挂载脚本。
首先我们需要在小球脚本内的“_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文件。运行时要保证两个文件处于同一路径下否则会报错。