Godot《躲避小兵》实战之创建玩家场景

项目设置完之后,我们就可以开始处理玩家控制的角色。

这里我们将玩家放在一个单独的场景当中,这样做的好处是在游戏的其他部分做出来之前,我们就可以对其进行单独测试。

节点结构

场景是一个节点树结构,因此一个场景需要有一个根节点,那么一般原则是场景的根节点就应该要反映对象所需的功能,也就是该使用什么样的节点对象!

这里的根节点我们选择添加一个Area2D节点作为角色的根节点!

在这里插入图片描述

创建好之后,选中根节点按F2可以对节点名称重命名,我们将其改为Player

Ctrl+S保存场景或点击菜单中场景下拉点击保存场景,将场景保存到scenes目录下!

在这里插入图片描述

此时节点右侧应该会看到一个黄色的感叹号,我们可以点击这个黄色的感叹号!

在这里插入图片描述

点击之后会弹出下图所示的警告说明框,里边详细解释了原因!

在这里插入图片描述

Area2D节点

Area2D节点是2D空间的一个区域,也就是说他是平面当中的一个区块,它能够检测到到物理对象CollsionObject2D的进入或退出!由一个或多个 CollisionShape2DCollisionPolygon2D子节点定义,同时也会记录哪些碰撞对象尚未退出,即存在重叠!

官方文档:Area2D — Godot Engine (4.x) 简体中文文档

对场景节点编组

为了防止意外的改变子节点的大小或位置,我们可以对其进行编组。即使当你不小心选中了子节点也会同时选择父节点!

在这里插入图片描述

这里我们切换到2D视图可以看到锁子旁边的图标,这个就是组合图标,我们选中Player节点,他就是可点击状态,点击之后就会对其进行编组,场景右侧会出现该图标,则证明编组成功!

在这里插入图片描述

精灵(角色)动画

Player节点添加一个子节点AnimatedSprite2D节点。
在这里插入图片描述

注意创建好之后同样节点右侧有个黄色的感叹号,同样的方法我们也可以点击查看警告说明。它会提示我们说必须在"Frames"属性中创建或设置SpriteFrames资源,让AnimatedSprite2D显示帧。

我们在编辑器右侧找到Animation,展开可以看到Sprite Frames选项右侧,点击下拉箭头选择新建SpriteFrames!

在这里插入图片描述

选择该选项后,点击选中该选项框,会看到编辑器底部出现一个动画帧编辑器。

在这里插入图片描述

左边是一个动画列表。点击“defalult”动画并将其重命名为“walk”。然后点击“添加动画”(绿色+号)按钮,创建另一个名为“up”的动画。

在这里插入图片描述

在文件系统的assets目录下找到玩家动画图像,将每个动画的两张图像, playerGrey_up[1/2]playerGrey_walk[1/2],拖到对应动画的面板的“动画帧”处:

在这里插入图片描述

玩家图像对于游戏窗口来说有点过大,需要缩小它们。点击 AnimatedSprite2D 节点,可以在检查器 Node2D 标签中,将 Scale 属性设置为 (0.5, 0.5)

在这里插入图片描述

最后,在 Player 下添加一个 CollisionShape2D 作为子节点,以确定玩家的“攻击框”,或者说碰撞范围。

在这里插入图片描述

CollisionShape2D 节点最适合这个角色,此时他也有一个黄色的感叹号警告,提示该节点必须有形状才能工作。

在这里插入图片描述

那么就在检查器中“Shape”的旁边点击“[空]”->“新建 CapsuleShape2D”添加形状,使用两个控制柄,调整形状大小以覆盖精灵:

在这里插入图片描述
箭头所指的就是控制饼,拖动即可调整大小,最后我们的Player场景看起来应该像这样:

在这里插入图片描述
做完之后,记得保存场景。

下一章节,我们将向玩家节点添加一个脚本,以移动饼为期添加动画效果。然后,我们将设置碰撞检测,以了解玩家何时被某些东西击中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub每日最火火火项目(8.21)

goauthentik / authentik: 项目介绍:authentik 是一个提供认证功能的工具,它似乎是 GitHub 社区当前非常关注的项目。虽然关于它的具体功能和特点在给定的文本中没有详细说明,但可以推测它在认证方面具有重要的作用,可…

WordPress美化节日灯笼插件,适合春节的时候使用

源码介绍: WordPress美化节日灯笼插件,适合每年过年的时候安在网站上使用,这款插件可以备用着,一款WordPress节日灯笼美化插件,可以给网页自动加一个灯笼效果使用说明:到网站WP后台 - 插件 - 安装插件 - 上…

Linux外设接口使用及内核驱动开发---模拟Framebuffer及应用接口

文章目录 前言一、模拟Framebuffer驱动1.总体功能2.驱动代码3.简要说明二、应用层1.总体功能2. 例子代码主函数三.运行结果前言 驱动端实现Linux模拟Framebuffer驱动;应用端采用GTK+实现多个应用程序通过接口/dev/fbXXX访问Framebuffer.基于该接口,可以在PC电脑Ubuntu系统实…

[C#]基于winform结合photocartoon算法实现人物卡通化源码实现

【官方框架】 https://github.com/minivision-ai/photo2cartoon 简介 人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。我们的思路是,从大量照片/卡通数据中习得照片到卡通画的映射…

企业级web应用服务器tomcat

目录 一、Web技术 1.1 HTTP协议和B/S 结构 1.2 前端三大核心技术 1.2.1 HTML 1.2.2 CSS(Cascading Style Sheets)层叠样式表 1.2.3 JavaScript 二、tomcat的功能介绍 2.1 安装 tomcat 环境准备 2.1.1 安装java环境 2.1.2 安装并启动tomcat …

vscode提升:JSON 中不允许有注释

解决方案 : 运行: json with comment 参考链接: https://blog.csdn.net/eqizhihui/article/details/134014010 人工智能学习网站 https://chat.xutongbao.top

基于飞腾平台的Hbase的安装配置

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适…

iOS Native与JS通信:JSBridge

文章目录 一、简介二、JS 调用 Native1.使用 URL Schemea.UIWebViewb.WKWebView 2.使用 JavaScriptCore (iOS 7)3.使用 WKWebView 和 WKScriptMessageHandler (iOS 8) 三、Native 调用 JS1.使用 UIWebView2.使用 WKWebView3.使用 JavaScriptCore (iOS 7) 一、简介 对于移动应用…

深入浅出:你需要了解的用户数据报协议(UDP)

文章目录 **UDP概述****1. 无连接性****2. 尽最大努力交付****3. 面向报文****4. 多种交互通信支持****5. 较少的首部开销** **UDP报文的首部格式****详细解释每个字段** **UDP的多路分用模型****多路分用的实际应用** **检验和的计算方法****伪首部的详细内容****检验和计算步…

Python 数据分析之Numpy学习(一)

Python 数据分析之Numpy学习(一) 一、Numpy的引入 1.1 矩阵/向量的按位运算 需求:矩阵的按位相加 [0,1,4] [0,1,8] [0,2,12] 1.1.1 利用python实现矩阵/向量的按位运算 # 1.通过列表实现 list1 [0, 1, 4] list2 [0, 1, 8]# 列表使用…

iOS 18 Beta 5:苹果的细腻之笔,绘制用户体验新画卷

在苹果的世界里,每一次系统更新都是对用户体验进行的一次精心雕琢。 随着iOS 18 Beta 5的上线,苹果带来了一系列令人耳目一新的功能,同时也在系统的每个细微之处展现了对完美的追求。 Safari浏览器的“干扰控制”功能 在今天信息充斥的数字…

SpringBoot接入高德地图猎鹰轨迹服务API

SpringBoot接入高德地图猎鹰轨迹服务API 一、AP文档 猎鹰轨迹服务API文档 二、页面图 1、需登录账号,申请对应的应用key值 三、代码部分: 1、控制层 RestController RequestMapping("/gdTrack") public class TrackController {private …

C++实现取两个经纬度的距离

参考QT源码 distanceTo函数: https://code.qt.io/cgit/qt/qtpositioning.git/tree/src/positioning/qgeocoordinate.cpp https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/kernel/qmath.h 参考公式: https://blog.csdn.net/gaocuisheng/article/details/126060795…

搜维尔科技:【研究】Haption Virtuose外科手术触觉视觉学习系统的开发和评估

Haption面临挑战 除此之外,外科医生有时会对骨组织进行非常复杂的手术,其中一个例子是人工耳蜗的手术植入。重要的是要避免神经或血管等危险结构受伤,并尽可能轻柔地进行手术。在外科医生能够安全、无差错地进行此类手术之前,需要…

Flink常见数据源使用教程(DataStream API)

前言 一个 Flink 程序,其实就是对 DataStream 的各种转换。具体来说,代码基本上都由以下几部分构成,如下图所示: 获取执行环境(execution environment)读取数据源(source)定义基于数据的转换操作(transformations)定义计算结果的输出位置(sink)触发程序执行(exec…

鸿蒙HarmonOS实战开发: CMake脚本编写构建NDK工程

NDK工程构建 HarmonyOS NDK默认使用CMake作为构建系统,随包提供了符合HarmonyOS工具链的基础配置文件ohos.toolchain.cmake,用于预定义CMake变量来简化开发者配置。 常用的NDK工程构建方式有: 从源码构建 源码构建也有不同方式:…

写给大模型新人的经验,刷到少走三年弯路!

这篇文章,我将结合自己在大模型领域的经验,给大家详细聊聊新人应该如何转行大模型赛道? 比如大模型都有哪些方向?各方向的能力要求和岗位匹配?新手转行大模型常踩的坑和常见的误区?以及入行大模型最顺滑的…

什么是HW,企业要通过什么方式进行HW安全保障?

一、什么是HW 网络安全形势近年出现新变化,网络安全态势变得越来越复杂,黑客攻击入侵、勒索病毒等网络安全事件愈演愈烈,严重威胁到我国的网络空间安全。同时,国内不少关键信息基础设施的建设管理单位安全意识不够、安全投入不足…

怎么管控终端电脑上的移动端口

管控终端电脑上的移动端口,尤其是USB等移动端口,是确保企业数据安全和提升网络管理效率的重要手段。 一、使用注册表编辑器禁用USB端口(适用于Windows系统) 打开注册表编辑器: 同时按下“WinR”组合键,打…

24年上半年天融信营收缩减1.8亿,亏损2.06亿

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…