返回

了解Godot3游戏引擎中的常用节点类型并开发一个金币小游戏(上)

见解分享

Godot3游戏引擎入门之十:介绍一些常用的节点并开发一个小游戏(上)

1. 前言

在之前的文章中,我们已经学习了如何使用Godot3游戏引擎创建项目,以及如何使用基本节点类型创建简单的场景。在这一部分,我们将深入了解一些更常用的节点类型及其功能,并使用这些节点开发一个小游戏。

2. 常用节点类型

在Godot3游戏中,有许多不同类型的节点可供您使用,每种类型的节点都有其独特的功能。在这一部分,我们将介绍一些最常用的节点类型,以及如何使用它们来创建游戏对象。

  • Sprite节点 :Sprite节点是用于显示图像的节点。它可以用来创建角色、背景、道具等。
  • CollisionShape2D节点 :CollisionShape2D节点用于定义游戏对象的碰撞形状。当游戏对象与其他游戏对象发生碰撞时,碰撞形状将决定它们之间的碰撞行为。
  • KinematicBody2D节点 :KinematicBody2D节点是用于控制游戏对象的运动的节点。它可以用来创建角色、敌人等。
  • RigidBody2D节点 :RigidBody2D节点是用于控制游戏对象的物理行为的节点。它可以用来创建子弹、道具等。
  • CanvasItem节点 :CanvasItem节点是用于在游戏中显示用户界面元素的节点。它可以用来创建按钮、文本、图片等。

3. 开发一个小游戏

在这一部分,我们将使用上述节点类型开发一个小游戏。这个游戏名为“金币游戏”,玩家需要控制一个角色收集金币并避免障碍物。

3.1 创建项目

首先,我们需要创建一个新的Godot3项目。您可以按照以下步骤进行操作:

  1. 打开Godot3游戏引擎。
  2. 单击“新建项目”按钮。
  3. 在“项目名称”字段中输入“金币游戏”。
  4. 在“项目位置”字段中选择一个文件夹来保存您的项目。
  5. 单击“创建”按钮。

3.2 创建场景

接下来,我们需要创建一个新的场景。您可以按照以下步骤进行操作:

  1. 在“场景”菜单中,单击“新建场景”按钮。
  2. 在“场景名称”字段中输入“游戏场景”。
  3. 在“场景位置”字段中选择一个文件夹来保存您的场景。
  4. 单击“创建”按钮。

3.3 创建角色

现在,我们需要创建一个角色。您可以按照以下步骤进行操作:

  1. 在“节点”面板中,右键单击“场景”节点并选择“添加子节点”>“Sprite”。
  2. 在“Sprite”节点的“纹理”字段中,选择一个角色图像。
  3. 在“Sprite”节点的“位置”字段中,输入角色的初始位置。
  4. 在“Sprite”节点的“比例”字段中,输入角色的初始比例。

3.4 创建金币

接下来,我们需要创建一些金币。您可以按照以下步骤进行操作:

  1. 在“节点”面板中,右键单击“场景”节点并选择“添加子节点”>“Sprite”。
  2. 在“Sprite”节点的“纹理”字段中,选择一个金币图像。
  3. 在“Sprite”节点的“位置”字段中,输入金币的初始位置。
  4. 在“Sprite”节点的“比例”字段中,输入金币的初始比例。

3.5 创建障碍物

接下来,我们需要创建一些障碍物。您可以按照以下步骤进行操作:

  1. 在“节点”面板中,右键单击“场景”节点并选择“添加子节点”>“CollisionShape2D”。
  2. 在“CollisionShape2D”节点的“形状”字段中,选择一个障碍物的形状。
  3. 在“CollisionShape2D”节点的“位置”字段中,输入障碍物的初始位置。
  4. 在“CollisionShape2D”节点的“比例”字段中,输入障碍物的初始比例。

3.6 创建脚本

接下来,我们需要创建一个脚本来控制角色的运动。您可以按照以下步骤进行操作:

  1. 在“节点”面板中,右键单击“角色”节点并选择“添加脚本”。
  2. 在“脚本”对话框中,输入脚本的名称。
  3. 在“脚本”编辑器中,输入以下代码:
extends KinematicBody2D

var speed = 100

func _physics_process(delta):
    if Input.is_action_pressed("ui_left"):
        velocity.x = -speed
    elif Input.is_action_pressed("ui_right"):
        velocity.x = speed
    else:
        velocity.x = 0

    if Input.is_action_pressed("ui_up"):
        velocity.y = -speed
    elif Input.is_action_pressed("ui_down"):
        velocity.y = speed
    else:
        velocity.y = 0

3.7 运行游戏

现在,您可以运行游戏来测试它了。您可以按照以下步骤进行操作:

  1. 在“场景”菜单中,单击“运行”按钮。
  2. 游戏将开始运行。

如果您在游戏中遇到问题,可以尝试检查您的代码或场景设置。