一个开箱即用的游戏引擎所做的小 Demo

这里为大家介绍一个本人即兴突兀所作的小玩意,简单的人物移动 demo,控制角色在场景中上下左右移动,时间关系只能介绍完程序部分

使用的游戏引擎是 Godot,脚本语言为 GDScript

gdscript 复制代码
# 当前游戏脚本所继承的父类节点
extends CharacterBody2D

# 人物的移动速度 单位 像素
const _speed = 50.0

# 从外部引入的实例化对象
# Sprite2D 人物模型
@onready var sprite_2d: Sprite2D = $Sprite2D
# AnimationPlayer 人物动画
@onready var animation_player: AnimationPlayer = $AnimationPlayer

# 内置函数,该函数在程序的每一帧被调用
# 例如一秒六十帧,代表一秒内该函数被调用执行六十次
func _physics_process(delta: float) -> void:

	# Input.get_axis(),内置的输入控制函数
	# 其中两个参数,为键盘的映射,left 向左 按 D,right 向右 按 A,下同
	# 执行第一个参数,返回值为 -1,执行第二个参数,返回值为 1,二者都不执行,则为 0
	var direction_x = Input.get_axis("left","right")
	var direction_y = Input.get_axis("up","down")

	# velocity,内置,默认值为 (0, 0),表示向量速度
	# 例如,向左 D,-1 * 200,(-200, 0),人物一秒内延 X 抽反向移动 200 像素单位
	velocity.x = direction_x * _speed
	# 注意,在游戏 2D 中,Y 轴,箭头向下为正,向上为负
	velocity.y = direction_y * _speed

	# is_zero_approx,内置函数,判断参数是否为零
	# 当前判断,人物是否在做水平运动,即向左、向右
	if not is_zero_approx(direction_x):
		# flip_h,内置属性,代表人物的水平方向,
		# 该赋值语句,默认 false,若为 true,则人物模型水平反转
		sprite_2d.flip_h = direction_x < 0
		# 播放走路动画 walk
		animation_player.play("walk")
	# 判断人物是否在做垂直运动,即向上、向下
	elif not is_zero_approx(direction_y):
		animation_player.play("walk")
	# 该分支内,人物未做出移动,故而播放站立动画 idel
	else:
		animation_player.play("idel")

	# 碰撞检测,此处理解为用于更新 velocity 属性
	move_and_slide()

我很意外,掘金貌似不支持该程序脚本语言的高亮,看来 Godot 市场受众确实是十分的小啊,下附编辑器原图

动画位置

www.ixigua.com/73566135952...

Ps:因为掘金视频只支持,目前尚在审核中

上面是程序代码连带着演示,注释写的很清晰,因为很多人并不做游戏这一块,例如我,可以看到,通过很短的程序,可以控制游戏内人物的移动。这里省略了游戏场景的建立、人物模型和动画,因为这些不在本文的讨论中

时间过去了好长,不过也是有所收获的。本来动画想制作成 GIF,尝试发现 Godot可以直接导出视频,赞 get了一个新的知识点

相关推荐
问天_观心11 小时前
零基础在windows环境下的WSL使用llamafactory(二)
人工智能·神经网络·语言模型·github·模型蒸馏
逛逛GitHub13 小时前
AI 时代 Markdown 又火了,7 款 GitHub 高赞开源编辑器。
github
u13013013 小时前
GitHub 热榜项目:日榜(2026-08-18)
github
峰向AI14 小时前
5万多人点赞的下载工具,凭什么让我放下了用了三年的老软件
github
小玮看世界16 小时前
AtomGit 429 报错引发的思考:从“未授权限流”看开源平台的“浏览权”博弈
开源·github
m4Rk_18 小时前
【论文阅读】Agent 记忆机制(43):Mem²Evolve——让经验与能力在双记忆中共同进化
论文阅读·人工智能·学习·开源·github
CuSn19 小时前
我做了一个非官方 DeepSeek Harness 工具箱:插件、启动器和可验证目录
github
TunerT_TQ19 小时前
Valhalla静态工程审阅|源码尽调|162 个科学 Agent Skills 值不值得用?从源码静态证据拆解 scientific-agent-skills 的工程结构与风险边界【Agent Sk
开源·github
向上的车轮19 小时前
GitHub开源破圈方法论:一个小白的实战成长笔记
笔记·开源·github