Godot开发2D冒险游戏——第二节:主角光环整起来!

变量的作用域

全局变量,局部变量,导出变量(可以在检查器当中快速查看)

为玩家添加移动动画 

现在游戏的玩家还只是在滑行,我们需要再添加玩家每个方向上的移动效果

删除原先的Item节点,创建一个动画精灵节点

如何显示动画帧

创建一个动画帧 

左侧是动画列表,右侧是每个动画的具体内容

将精灵表拆分成单独的动画

将资源添加进来

添加你需要的动画 

移动速率:每秒播放多少帧

同理可以添加新的动画,注意fps要保持一致

动画有了,但是什么时候播放他们呢?

使用代码来控制其执行流程,也就是什么时候执行,执行什么的问题

引用其他的节点 

现在动画位于动画节点里面,人物如果想要访问该节点资源的话,需要使用$符号来引用该节点

记得将玩家添加到游戏场景当中:

将game_scene场景作为主场景运行,设置错了可以去项目配置里面修改

但是运行之后,玩家虽然能正常移动了,但是玩家一走就停不下来了

解决方案:判断速度是否为0,为0就不走了

人物滑行问题的解决

新的问题:单独的前、后、左、右都没问题了,但是如果2个方向同时按下的话,人物会滑行

这是因为if语句2个条件都成立,2个动画会同时被播放

改进:使用if..elif...else语句

改进后的代码:

func _process(delta: float) -> void:var move_vector:Vector2=Input.get_vector("move_left","move_right","move_up","move_down")velocity = move_vector * move_speedif velocity.x > 0:$AnimatedSprite2D.play("move_right")elif velocity.x < 0:$AnimatedSprite2D.play("move_left")elif velocity.y < 0:$AnimatedSprite2D.play("move_up")elif velocity.y > 0:$AnimatedSprite2D.play("move_down")else:$AnimatedSprite2D.stop()move_and_slide()

这样我们的玩家就比较完美地移动起来了:

2d3

okok,今天的你就到此为止吧,明天还要接着🐺啊!🎈🎈🧡

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

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

相关文章

颠覆传统NAS体验:耘想WinNAS让远程存储如同本地般便捷

在当今数据爆炸的时代&#xff0c;网络附加存储(NAS)已成为许多企业和个人用户的必备设备。然而&#xff0c;传统硬件NAS解决方案存在诸多限制&#xff0c;如高额成本、复杂设置和有限的远程访问能力。耘想WinNAS以其创新的软件解决方案&#xff0c;彻底改变了这一局面&#xf…

新市场环境下新能源汽车电流传感技术发展前瞻

新能源革命重构产业格局 在全球碳中和战略驱动下&#xff0c;新能源汽车产业正经历结构性变革。国际清洁交通委员会&#xff08;ICCT&#xff09;最新报告显示&#xff0c;2023年全球新能源汽车渗透率突破18%&#xff0c;中国市场以42%的市占率持续领跑。这种产业变革正沿着&q…

STM32之DHT11温湿度传感器---附代码

DHT11简介 DHT11的供电电压为 3&#xff0d;5.5V。 传感器上电后&#xff0c;要等待 1s 以越过不稳定状态在此期间无需发送任何指令。 电源引脚&#xff08;VDD&#xff0c;GND&#xff09;之间可增加一个100nF 的电容&#xff0c;用以去耦滤波。 DATA 用于微处理器与DHT11之间…

#define STEUER_A_H {PWM_A_ON}

目录 一、括号的区别 二、实例讲解 三、注意事项 四、总结 五、补充 一、括号的区别 大括号 {}: 在 C/C 中&#xff0c;大括号一般用于表示一个代码块或结构体、集合等。例如&#xff1a; 用于定义函数体、控制结构&#xff08;如 if、for&#xff09;的代码块。用于初始化…

Redis 缓存—处理高并发问题

Redis的布隆过滤器、单线程架构、双写一致性、比较穿透、击穿及雪崩、缓存更新方案及分布式锁。 1 布隆过滤器 是一种高效的概率型数据结构&#xff0c;用于判断元素是否存在。主要用于防止缓存穿透&#xff0c;通过拦截不存在的数据查询&#xff0c;避免击穿数据库。 原理&…

【玩转全栈】—— 无敌前端究极动态组件库--Inspira UI

目录 Inspira UI 介绍 配置环境 使用示例 效果&#xff1a; Inspira UI 学习视频&#xff1a; 华丽优雅 | Inspira UI快速上手_哔哩哔哩_bilibili 官网&#xff1a;https://inspira-ui.com/ Inspira UI 介绍 Inspira UI 是一个设计精美、功能丰富的用户界面库&#xff0c;专为…

【OpenCV图像处理实战】从基础操作到工业级应用

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现&#xff08;6个案例&#xff09;案例1&#xff1a;图像基本操作案例2&#xff1a;边缘检测案例3&…

fastjson使用parseObject转换成JSONObject出现将字符特殊字符解析解决

现象&#xff1a;将字符串的${TARGET_VALUE}转换成NULL字符串了问题代码&#xff1a; import com.alibaba.fastjson.JSON;JSONObject config JSON.parseObject(o.toString()); 解决方法&#xff1a; 1.更换fastjson版本 import com.alibaba.fastjson2.JSON;或者使用其他JS…

Docker Compose 和 Kubernetes(k8s)区别

前言&#xff1a;Docker Compose 和 Kubernetes&#xff08;k8s&#xff09;是容器化技术中两个常用的工具&#xff0c;但它们的定位、功能和适用场景有显著区别。以下是两者的核心对比&#xff1a; ​​1. 定位与目标​​ ​​特性​​ ​​Docker Compose​​ ​​Kubernet…

【21天学习打卡挑战赛】如何学习WEB安全:逼自己在短时间掌握WEB安全核心内容

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

Oracle数据库巡检脚本

1.查询实例信息 SELECT INST_ID, INSTANCE_NAME, TO_CHAR(STARTUP_TIME, YYYY-MM-DD HH24:MI:SS) AS STARTUP_TIME FROM GV$INSTANCE ORDER BY INST_ID; 2.查看是否归档 archive log list 3.查看数据库参数 SELECT NAME , TYPE , VALUE FROM V$PARAMETER ORDER BY NAME; 4.…

Windows 安装 JDK

下载 Java8 的下载直接访问&#xff1a;https://www.oracle.com/java/technologies/downloads/#java8-windows https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 接受协议后点击下载&#xff0c;再输入账号信息就可以下载了。 如果…

强化学习核心原理及数学框架

1. 定义与核心思想 强化学习&#xff08;Reinforcement Learning, RL&#xff09;是一种通过智能体&#xff08;Agent&#xff09;与环境&#xff08;Environment&#xff09;的持续交互来学习最优决策策略的机器学习范式。其核心特征为&#xff1a; ​​试错学习​​&#x…

Netty前置基础知识之BIO、NIO以及AIO理论详细解析和实战案例

前言 Netty是什么&#xff1f; Netty 是一个基于 Java 的 ​高性能异步事件驱动网络应用框架&#xff0c;主要用于快速开发可维护的协议服务器和客户端。它简化了网络编程的复杂性&#xff0c;特别适合构建需要处理海量并发连接、低延迟和高吞吐量的分布式系统。 1)Netty 是…

TIM输入捕获知识部分

越往左&#xff0c;频率越高&#xff1b;越往右&#xff0c;频率越低。【越紧凑&#xff0c;相同时间&#xff0c;次数越多】 计算频率的方法&#xff1a;测评法、测周法、中界频率。 频率的定义&#xff1a;1s内出现了多少个重复的周期 测评法就是从频率的定义出发的&#…

4.4 记忆机制与上下文管理:短期与长期记忆的设计与应用

记忆机制与上下文管理已成为智能代理&#xff08;Agent&#xff09;系统实现高效、智能化行为的核心技术。记忆机制通过短期记忆&#xff08;Short-Term Memory, STM&#xff09;和长期记忆&#xff08;Long-Term Memory, LTM&#xff09;支持Agent存储、检索和利用信息&#x…

深入了解递归、堆与栈:C#中的内存管理与函数调用

在编程中&#xff0c;理解如何有效地管理内存以及如何控制程序的执行流程是每个开发者必须掌握的基本概念。C#作为一种高级编程语言&#xff0c;其内存管理和函数调用机制包括递归、堆与栈。本文将详细讲解这三者的工作原理、用途以及它们在C#中的实现和应用。 1. 递归 (Recur…

leetcode day 35 01背包问题 416+1049

0-1背包问题 &#xff08;1&#xff09;第一种情况&#xff1a;二维dp[i][j]数组 dp[i][j]表示[0,i]的物品放入容量为j背包的最大价值 不放物品i,dp[i][j]dp[i-1][j] 放物品i,dp[i][j]dp[i-1][j-w[i]]v[i] 递推公式为&#xff1a; dp[i][j]dp[i-1][j];//不放 if(w[i]<j)dp…

算法时代的“摩西十诫”:AI治理平台重构数字戒律

一、引言 数字时代的狂飙突进中&#xff0c;人工智能&#xff08;AI&#xff09;正以颠覆性的力量重塑人类社会。从医疗诊断到金融决策&#xff0c;从智能制造到舆论传播&#xff0c;AI的触角已延伸至每个角落。 然而&#xff0c;斯坦福大学《2024年人工智能指数报告》揭示的…

上岸率85%+,25西电先进材料与纳米科技学院(考研录取情况)

1、先进材料与纳米科技学院各个方向 2、先进材料与纳米科技学院近三年复试分数线对比 学长、学姐分析 由表可看出&#xff1a; 1、材料科学与工程25年相较于24年上升10分&#xff0c;为290分 2、材料与化工&#xff08;专硕&#xff09;25年相较于24年下降20分&#xff0c;为…