前言
接下来教大家通过godot+c#实现玩家的简单移动,如下是操作示例

步骤
项目新建
首先新建一个项目,打开godot点击【新建】,然后修改游戏项目名称,点击创建,渲染器任意即可

创建背景
为演示方便,当前项目不需要引入任意素材,因此,为了方便观察玩家移动,我创建了一个背景

- 要创建背景,首先我们新建一个
node2d场景

右键点击添加子节点

- 选择点击
Sprite2D节点,创建

- 找到右边的
检查器,选择里面的Texture,创建一个CanvasTexture画布纹理 - 下方的
Visibility的Modulate可以更改画布颜色

鼠标滚轮可以放大游戏中心画面,就可以看到创建的画布,然后画面中心上方,有一排按钮,前面四个是最常用的
他们分别是
选择模式: 调整物体/场景大小
移动模式:移动物体/场景位置
旋转模式:旋转物体/场景方向
缩放模式:放大缩小物体/场景倍率

- 我们选择
选择模式变更画布大小

- 按照同样的方式放几个小的画布,修改颜色,用于区别不同位置,可以更好观察玩家移动
玩家创建
要创建玩家,我们选择创建
其他节点,然后选择CharacterBody2D节点,作为主节点,并且修改节点名称,并保存


- 然后往里面添加两个子节点
CollisionShape2D和Sprite2D
这两个节点中
CollisionShape2D:是2D碰撞节点,用于检测碰撞,是为了配合CharacterBody2D必要的,而它必要的是属性是检查器的shape属性,该属性是碰撞形状,只有在碰撞形状内可以检测碰撞
Sprite2D:是2D的图形节点,可以展示物品/玩家的形象,必要属性是检查器的Texture纹理属性,其中里面我们可以放置图片,为了展示玩家形象,我们创建项目有默认带一个图片

- 然后我们把这个图片拖到玩家节点下的
Sprite2D的Texture就可以展示玩家形象了

- 接下来是添加脚本,选择主节点,然后有一个书页的图标点击添加脚本,或者
鼠标右键添加脚本

- 然后我们选择
语言:C#
路径:修改玩家脚本名称为Player.cs

- 为了可以控制玩家移动,我们点击上方【项目】-【项目设置】-【输入映射】

点击
添加新动作输入操作名称,例如,我把向左移动命名成move_left输入名称之后,右边的添加会亮起,点击或回车添加。
然后下面会出现操作,右边有一个竖着的笔的图标,点击,然后输入按键,代表按什么按键我就会执行什么操作,如我的move_left输入A那么等代码书写完毕之后玩家操作之后会向左移动
- 输入按键之后点击确认即可,注意,一个操作可以映射多个按键,如向左移动我可以按A之外,还能按左箭头按键

新增
GameInput.cs文件,注意这个文件脚本不要挂载在任何节点下,你可以在文件系统下新建Scripts文件夹,然后在这个文件夹下右键新建脚本即可创建.如下是具体代码
Player.cs
using Godot;
using System;
using static Godot.TextServer;
public partial class Player : CharacterBody2D
{
public const float Speed = 300.0f;
public override void _PhysicsProcess(double delta)
{
Vector2 direction = GameInputEvent.MovementInput();
Velocity = direction * Speed;
MoveAndSlide();
}
}
GameInput.cs
using Godot;
using System;
public class GameInputEvent
{
public static Vector2 direction;
public static Vector2 MovementInput()
{
if (Input.IsActionPressed("move_left"))
{
direction = Vector2.Left;
}
else if (Input.IsActionPressed("move_right"))
{
direction = Vector2.Right;
}
else if (Input.IsActionPressed("move_down"))
{
direction = Vector2.Up;
}
else if (Input.IsActionPressed("move_up"))
{
direction = Vector2.Down;
}
else
{
direction = Vector2.Zero;
}
return direction;
}
}
然后点击右上角有一个
小锤子图标,进行编译,编译完之后,打开背景场景,将玩家场景拖进去。
点击这个图标右边的电影图标进行启动游戏

然后我们的游戏就运行起来了

结语
如上为godot+c#实现玩家的简单移动教学


731

被折叠的 条评论
为什么被折叠?



