一个开箱即用的游戏引擎所做的小 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了一个新的知识点

相关推荐
码农捻旧10 小时前
Node.js Express 项目现代化打包部署全指南
javascript·node.js·github·express
王了了哇12 小时前
【关联git本地仓库,上传项目到github】
git·github
Sgq丶12 小时前
Git 提交大文件 this exceeds GitHub‘s file size limit of 100.00 MB
git·github
中国lanwp15 小时前
使用Maven部署应用到TongWeb(东方通应用服务器)
git·github·maven
兔子坨坨17 小时前
IDEA连接github(上传项目)
java·git·学习·github
快解析21 小时前
代码管理平台Gitlab如何通过快解析实现远程访问?
gitlab·github
蔗理苦1 天前
Typora + PicGo + GitHub 配置图床——图片自动上传 详细教程
github·typora·picgo
Big__Star2 天前
Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器
服务器·git·github
三道杠卷胡2 天前
【AI News | 20250520】每日AI进展
人工智能·pytorch·python·语言模型·github
weixin_472339462 天前
GitHub 自动认证教程
github