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待机动画
  • 然后为了让待机动画在玩家进入游戏自动播放,我们还需要勾选一下自动播放的功能


*
*

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


*

相关推荐
yi.Ist2 小时前
博弈论 Nim游戏
c++·学习·算法·游戏·博弈论
cy_cy0022 小时前
投影互动游戏定制化开发方案
大数据·科技·游戏·人机交互·软件构建
呆呆敲代码的小Y2 小时前
【Unity工具篇】| Unity项目中如何使用LuBan插件,详细集成步骤
游戏·unity·游戏引擎·u3d·luban·免费游戏·unity工具
咕噜企业分发小米16 小时前
如何利用云服务器搭建游戏服务器并实现跨平台游戏?
运维·服务器·游戏
Zhichao_9716 小时前
【UE5.3 C++】ARPG游戏 06-拾取武器
游戏·ue5
九影网络19 小时前
游戏开发耗时有标准吗?核心影响因素与周期范围汇总
游戏
yunteng52119 小时前
游戏逻辑_垂直拆分_增量更新
游戏·aoi·地图优化
2501_9481226320 小时前
React Native for OpenHarmony 实战:Steam 资讯 App 个人中心页面
javascript·react native·react.js·游戏·ecmascript·harmonyos
Younglina20 小时前
想提升专注力?我做了一个web端的训练工具
前端·vue.js·游戏