godot2D游戏教程系列一(2)

  • 前言:
  • 我是根据b站上的视频进行学习,并且总结写下笔记,然后做此分享。笔记非常详细以至于你可以通过查看文章进行快速学习并且制作出游戏出来。当然视频学习的链接我也放在下面了:
  • 视频学习:https://www.bilibili.com/video/BV1fuCrYFEoG?spm_id_from=333.788.videopod.sections\&vd_source=078d5d025b9cb472d70d8fda1a7dc5a6
  • 制作完成的成果,可以点击进去进行在线游玩:https://yunbiansanbu.itch.io/my-frist
  • 音频/美术资源包下载:https://pan.quark.cn/s/570e6714e5ea
  • 完成目标
  • 通过本实现过程,成功搭建了一个基础的 2D 游戏场景,完成了森林背景的创建与渲染设置,引入并配置了摄像机以正确显示游戏画面,同时制作并实例化了具有待机动画的玩家角色场景。最终实现了游戏主场景的正常运行,并在场景中展示自动播放动画的玩家角色,为后续角色移动与交互功能奠定了基础。
  • 实现过程
  • 创造游戏场景
  • 首先让我们先创建一个2d场景的根节点,在编辑器的左上角


*


*

  • 创造完根节点之后,我们需要在这个根节点上放内容比如游戏的背景,所以我们需要在这个根节点上创建一个Sprite2D的节点
  • 选择我们新建的2d根节点之后点击左上角的加号或者按(ctrl+a)快捷键
  • 调用出这个窗口,然后搜索Sprite2D的节点,点击创建即可
  • 创建成功之后就是这个样子
  • 在创建好这个精灵节点之后呢,我们要往里填充内容,才能让它成为是一个游戏背景的节点,点击这个精灵节点,看编辑器的右侧有这个节点的属性,然后我们找到纹理(Texture)属性
  • 按shift键进行移动就可以让节点根据x轴或者y轴进行移动
  • 按w键或者点击上方的移动模式,可以更好的进行操作节点的移动
  • 按q可以快捷的切换为选择模式
  • 使用快捷键ctrl+d可以快速的复制一层精灵节点,再使用w移动模式进行移动,这样子我们就有2个图片拼在一起的游戏背景了
  • 然后我们ctrl+s进行保存,然后新建一个Scenes的文件来保存游戏场景
  • 运行游戏在编辑器的右上角或者按(f5)快捷键


*

  • 然后我们会发现为什么我们的游戏界面只有最左上角的一块角落,这个是因为编辑默认渲染的是一个蓝色的区域
  • 当我们有多个节点的时候,操作的时候很容易移动到其他节点,所以这个时候,我们就可以使用编辑器上方的锁或者快捷键ctrl+l进行锁定
  • 上锁之后旁边就会出现一个小锁的图标


*

  • 主场景拥有之后,我们来添加玩家,玩家也是一个场景。
  • 然后我们为这个玩家场景创建一个根节点Character Body 2D(这个节点可以在2D的游戏场景中模拟玩家的移动和物理碰撞)
  • 有了根节点之后给里面填充内容,先填充一下玩家图片(这里我重命名根节点为Player了)(相对于普通的精灵节点,这个节点的作用AnimatedSprite2D可以让玩家的图片动起来)
  • 创建之后我们会发现有一个小三角的感叹号,所以我们到属性中找到sprite frames去新建一个sprite frames


*

  • 然后我们就能在这个下面打开了
  • 点击这个网格图标,往里添加图片
  • 然后添加这个小狐狸的图片,在游戏中角色的动画一般都是被存放在一种叫Spritesheet图片表中的,图片表会保存玩家每一帧下的不同的动作
  • 选择好小狐狸的图片,之后我们就会进入到这个分割图片表的界面
  • 这个是一个6*12的图片表,所以在右上角我们需要改为水平6和垂直12/或者我们可以使用自动裁剪的按钮去让编辑器去自动分割这个图片表
  • 然后这里我们先来做一个小狐狸待机的动画,所以我们先选择第一行的1-4帧进行添加


*

  • 添加完成之后,我们选中这四帧进行播放,同时如果你觉得播放速度比较慢就可以调节旁边的帧率,这里改为12,表示每秒会播放12张不一样的图片
  • 然后我们修改一下这个动画的命名改为idle待机动画
  • 然后为了让待机动画在玩家进入游戏自动播放,我们还需要勾选一下自动播放的功能


*
*

  • 然后我们需要将这个玩家场景链接到主场景中,切换到主场景中点击左上角的链接图标
  • 点击之后我们就可以发现这个玩家场景的文件,然后点击链接
  • 这样子我们的小狐狸就会出现在我们的主场景里面了
  • 启动游戏之后我们就会发现在森林里面一个动起来的小狐狸


*

相关推荐
Ulyanov1 小时前
基于Pymunk物理引擎的2D坦克对战游戏开发
python·游戏·pygame·pymunk
renke33642 小时前
Flutter for OpenHarmony:光影迷宫 - 基于局部可见性的沉浸式探索游戏设计
flutter·游戏
renke33644 小时前
Flutter for OpenHarmony:数字涟漪 - 基于扩散算法的逻辑解谜游戏设计与实现
算法·flutter·游戏
微祎_4 小时前
Flutter for OpenHarmony:单词迷宫一款基于 Flutter 构建的手势驱动字母拼词游戏,通过滑动手指连接字母路径来组成单词。
flutter·游戏
子春一16 小时前
Flutter for OpenHarmony:构建一个 Flutter 四色猜谜游戏,深入解析密码逻辑、反馈算法与经典益智游戏重构
算法·flutter·游戏
前端不太难17 小时前
HarmonyOS 游戏上线前必做的 7 类极端场景测试
游戏·状态模式·harmonyos
微祎_18 小时前
Flutter for OpenHarmony:构建一个 Flutter 重力弹球游戏,2D 物理引擎、手势交互与关卡设计的工程实现
flutter·游戏·交互
不穿格子的程序员1 天前
从零开始刷算法——贪心篇1:跳跃游戏1 + 跳跃游戏2
算法·游戏·贪心
微祎_1 天前
Flutter for OpenHarmony:构建一个 Flutter 镜像绘图游戏,对称性认知、空间推理与生成式交互设计
flutter·游戏·交互
前端不太难1 天前
HarmonyOS 游戏项目,从 Demo 到可上线要跨过哪些坑
游戏·状态模式·harmonyos