godot2D游戏教程系列一(3)

  • 前言:

  • 完成目标

    通过在玩家根节点创建并挂载脚本,完成角色初始化与移动功能的实现。首先在 _ready() 中编写初始化逻辑并通过打印验证脚本正常运行;随后在更新函数中编写移动代码。为保证不同设备下的运行一致性,将 _process 改为固定帧率执行的 _physics_process。 通过项目设置中的"输入映射"配置 WSAD 动作,并在代码中将输入转换为二维速度向量,结合 move_and_slide() 实现玩家在 2D 场景中的平滑移动。同时使用 @export 暴露速度变量,便于在编辑器中直接调整参数。最终实现了基于键盘输入、可调速度、物理帧稳定的玩家移动逻辑。

  • 实现过程:

    • 选中左上角玩家的根节点,然后点击右上角的那个卷轴图标到门口创建脚本
    • 点击会出现这个弹窗
    • 然后呢下方模板选择node:default,也就是节点默认。然后开始撸码,
    • 下方路径选择创建一个新的文件夹Scripts来存放这些代码文件
    • 创建成功之后就是这样子的
    • 在玩家的根节点那里我们会发现右边有一个卷轴图标,表示这个玩家节点目前正在挂载着一串代码,如果我们不想他进行挂载的话,我们可以点击上面的卷轴叉图标
    • 所有关于ready函数里面的代码会在游戏开始运行的时候被执行,就是相当于初始化
    • 让我们把原本的pass删掉,然后写一个打印,然后点开始运行游戏,这样子在下方的终端就会显示打印的信息
    • 按键盘的f8就可以直接退出游戏
    • process函数里面的代码会在游戏的每一帧被执行一遍,如果游戏的帧率是60的话,那么这个函数里面的代码每秒会执行60次,相当于循环执行
    • 来设置玩家移动

      • velocity是速度,然后用二维向量来设置玩家在2d平面上的移动速度,里面的2个参数分别是x轴的移动速度和y轴的移动速度,比如说这里是玩家在x轴的移动速度是50,y轴的移动速度是0.这里设置好属性之后,我们需要进行执行移动
      • 在我们在process的函数中加入move_and_slide(),这样子我们的玩家就会根据我们上面的设置进行移动
      • 如果想看官方文档,只需要选中函数之后按CTRL就可以自动跳转了
    • 通过操作键盘wsad进行移动玩家

      • 让我们点击编辑器的左上角的项目点击项目设置
      • 玩家的每一个输入信号在godot都被称之为动作action
      • 让我们找输入映射这一块,添加新动作,把right,up,down,left添加进去
      • 我们还需要加一下分配动作对应键盘的键位
      • 选中动作之后,点击右边的加号
      • 然后就会弹出这个事件配置,这个时候godot是在进行监听我们键盘的输入
      • 所以这个时候我们只需要在键盘上按一下a键,就会自动显示出a
      • 然后我们点击确定就好,这样子就会显示出来我们绑定的键位
      • 接下来我们需要在编辑器上实时的检测玩家在wsad键盘上的输入转化为游戏里面玩家角色的移动这样子就可以根据玩家的操作进行移动了,但是默认的是每次只有移动一个像素,所以我们还需要加一个速度值的变量(方便进行修改,变化)
      • 我们声明一个变量之后呢,给一个默认的值
      • 这样子我们玩家角色的移动速度就会快不少,而且还是根据玩家键盘的输入进行控制移动
      • 另外为了方便调整变量的数值而不是在代码里面进行修改,我们可以在变量面前加一个@export,这样子就可以在右边的监视器上进行快捷的调整数值,这里注意就是这里的修改不会同步到代码里面中,而是优先级更高,自动覆盖掉代码里面的设置的数值
    • 这里做代码修改,因为_process函数是每一帧会运行一次,但是有些电脑是每秒100帧、120帧等等,会计算很多次,所以我们需要把这个函数改为_physics_process,这个函数是以固定的时间间隔进行运行的,而官方编辑器默认的时间间隔是1秒60帧
    • 另外如果在代码运行后无法移动并且报错这个"delta"的错误的时候
    • 就需要再delta前面加一个下划线
相关推荐
hkNaruto7 小时前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
揽星河..12 小时前
【C语言】猜数字游戏
c语言·算法·游戏
释厄62313 小时前
AI 军备竞赛悖论——为 AI 卖游戏但 AI 需要游戏母场景
人工智能·游戏·kotlin
郝学胜-神的一滴18 小时前
游戏设计:原型与开发 17:数字化系统里的思维体操
人工智能·游戏·游戏程序·游戏策划·游戏设计
驱动小百科1 天前
国产3A游戏《影之刃零》正式发售:售价及电脑配置要求介绍
游戏·影之刃零·影之刃零配置要求·影之刃零下载·影之刃零售价
信奥卷王2 天前
[GESP202312 六级] 闯关游戏
游戏
德迅云安全-上官2 天前
德迅游戏盾:面向 TCP 业务的分布式云安全防护方案
分布式·tcp/ip·游戏
科技那些事儿2 天前
旗舰游戏本 CPU 对决:锐龙 9 9955HX 对比酷睿 Ultra 9 275HX
游戏·智能手机·智能电视
njsgcs2 天前
老滚5 文本替换中文简体 仓库加经验glm5.3f
游戏
I Am a robert girl2 天前
从 GameHorizon 拆解多时间尺度游戏评测:数据管线、离线基准与在线回放的三层设计
数据库·游戏·多时间尺度·数据管线·游戏评测·离线基准·在线回放