【极简】Godot4.4 快速搭建测试场景A(附完整代码/素材包)

无望其速成,无诱于势利。

一、展示

本文目的在于快速搭建一个测试场景,用于其他文章的测试,包含:

  1. 可移动玩家 2.可收集物品 3. 基本地形

请添加图片描述

(一)节点结构

1. player.tscn

  • Player(CharacterBody2D)
    • Sprite2D
    • CollishionShape2D

2. egg.tscn

  • Egg (Sprite2D)
    • PickUpComponent(Area2D)
    • CollishionShape2D

3. test_world.tscn

  • TestWorld (Node2D)
    • TileMapLayer
    • Player(见1)
      • Camera2D
    • Egg(见2)

4. 输入设置

在这里插入图片描述

5. 示例

请添加图片描述

(二)代码

1. player.gd

extends CharacterBody2D
## 创建W、A、S、D移动的Player

# 移动速度
@export var speed : int = 80

# 控制角色移动
func _physics_process(delta: float) -> void:
	var direction : Vector2 = Input.get_vector("left", "right", "up", "down")
	velocity = speed * direction
	
	move_and_slide()

2. egg.gd

extends Sprite2D
## 可收集的蛋

# 蛋的默认数量
var stack : int = 1

# 从PickUpComponent连接的信号
func _on_pick_up_component_body_entered(body: Node2D) -> void:
	if body is CharacterBody2D:
		queue_free()	# 删除蛋 

二、复刻

(一)按照展示的节点结构创建所有节点,并更改节点名;

(二)为Player和Egg节点附加代码;

(三)导入资产(文末附链接);

(四)添加Player与Egg的Sprite2D精灵图,并配置合适的碰撞形状;

(五)选中Egg场景下的PickUpComponent节点,在检查器->节点中连接body_entered信号到Egg节点;

(六)在TestWorld场景中的TileMap中创建地图;

(七)在项目->项目设置->输入映射中设置方向键位;

(八)运行TestWorld场景测试;

三、自查对照

问题现象关键检查点解决方案
The InputMap action “down” doesn’t exist. Did you mean “ui_down”?检查输入映射是否存在left,right,up,down动作项目设置→输入映射→添加left,right,up,down并绑定键盘左、右键
画面太小检查项目设置->常规->显示->拉伸->缩放调整缩放大小
角色像素纹理不清晰检查项目设置->渲染->纹理->画布纹理->默认纹理过滤在默认纹理过滤设置为Nearest
一个图片包含有多个图片如何导入其中一个到Sprite2D检查器中Texture新建AtlasTexture导入包含多个图片的图片后,点击编辑区域->自动裁剪,然后选择目标图片即可
运行成功但无法拾取物品检查Egg场景下的PickUpComponent是否连接到Egg节点鼠标选中PickUpComponent节点后,在右侧【节点】->【信号】下看到一大堆信号,然后找到body_entered,右键连接到Egg节点上

(欢迎评论区讨论!)

四、免费开源资产包

某开源网站精灵图资源包链接: 点击此处

  1. 进入链接后点击下图按钮
    下载

  2. 然后点击【No thanks,just take me to the downloads】(不了谢谢,只想下载)
    No thanks,just take me to the downloads

  3. 最后点击下图按钮完成下载(注意导入前需解压缩)
    下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ForBigData

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值