网站怎么做本地映射,做网站适合用什么字体,自己开发电商网站难吗,网站导航栏种类文章目录 开发思路标题菜单界面标题菜单脚本代码结束菜单界面结束菜单脚本代码 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击#xff08;一#xff09; 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件#xff08;二#xff09; 使用Godot4组件制作竖版… 文章目录 开发思路标题菜单界面标题菜单脚本代码结束菜单界面结束菜单脚本代码 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击一 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件二 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞船动画三 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-滚动背景四 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌人配置五 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-碰撞框和受伤区域六 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-受伤 爆炸 销毁组件七 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌人生成器八
开发思路
整体开发还是基于组件的思维。相比于工厂模式或者状态机可能有些老套但是更容易理解和编程
教程大概是2个小时 基本上一个小时就能有游戏的雏形。
不过由于都是初学者所以大概整体是应该4个小时左右。
本篇文章实现标题菜单及游戏结束界面约15分钟
标题菜单界面
新建一个用户界面,名称改为Menu绿色用户节点一般都是于UI相关节点
实列化Spacebackground背景使得背景与游戏界面有着一样的视觉效果 接下来添加标题和提示信息按空格键开始游戏 字体需要改为特定字体节点使用label标签节点需要设置自动居中 因此需要使用CenterContainer节点节点的锚点需调整为全屏 接下来就是添加标签label 标签名称改为TitleLabel标签Text改为Galaxy Defiance 银河抵抗 新建一个labelsetting 然后直接把字体文件拖进去设置 点击小箭头保存字体设置 保存为title_label_settings.tres在font文件夹下这样标题就做完了 接下来需要制作下一个标签两个标签需要垂直排列且对齐因此需要添加VBoxContainer容器 这些ui容器具有良好的排列效果具体可以看我的UI介绍文章
新建一个startlabel标签同样的新建一个标签设置将字体拖动进去设置尺寸改为8 文字写为Press “space” to play 字体同样保存保存为default_label_settings.tres文件 字体未居中需要设置居中之前的标签也要这样设置 然后由于默认设置场景是战斗场景需要更改menu为主场景这样运行游戏就会先运行我们的标题菜单了 标题菜单脚本代码
菜单添加脚本逻辑就是玩家按下空格键触发动作。使用ui_accept识别空格键作为触发事件 然后需要切换到主世界战斗场景 通过代码get_tree().change_scene_to_file进行场景跳转 world世界路径输入代码时有自动补全选中即可 代码如下 再次运行游戏这样如果按下空格能够运行游戏那么标题菜单添加成功
结束菜单界面
与标题菜单类似新建一个Gamerover用户节点保存为场景保存在menu文件夹下 同样实列化背景场景SpaceBackground然后增加CenterContainer节点节点的锚点需调整为全屏 添加VboxContainer 垂直排列子元素然后就是添加gameoverlabel和menulabel
gameoverlabel标签设置和之前标题菜单设置同理字体内容为Game over字体文件可以直接用之前的title_label_settings拖到字体设置中。不需要重复设置 不过居中还是需要再设置一下
menulabel标签设置和之前标题菜单设置也同理字体内容为press “space” to Return to the Start Menu字体文件可以直接用之前的default_label_settings拖到字体设置中 文字需要居中
结束菜单脚本代码
gameover场景新建一个脚本代码与标题仍然类似可以复制代码只需要更改跳转场景为menu 现在需要触发死亡后的场景跳转目前代码中已经有船的死亡但是仍然需要检测船的死亡 在world中添加脚本
脚本代码主要是需要实现当飞船摧毁时延时1s跳转到游戏结束场景 首先初始化ship变量ship的exiting节点当飞船摧毁时会被触发因此需要connect该节点到一个函数触发 使用await来等待信号完成。 timeout为计时器超时
await get_tree().create_timer(1,0).timeout这是一种快速创建计时器并且设置时间的简便方式不需要再在场景中添加timer节点
然后使用同样方式切换场景到游戏结束
这样游戏的结束就可以了运行后应该有如下效果能够死亡后延时1s跳转到gameover场景 基础游戏循环完成下一章制作得分和游戏统计功能