Menu
CoddyTech

硬币磁铁

本课属于 Coddy Unity 学习旅程的“Unity 脚本基础”单元。第 81 课,共 85 课。

玩家拿着一块磁铁,在场地上四处走动,场地上有 5 枚硬币。进入磁铁范围的硬币会飞向玩家,到达玩家身边的硬币会被收集并计数。离玩家较远的硬币会留在原地,直到玩家靠近它们。

将整个游戏写在玩家身上的一个脚本 Magnet 中。

challenge icon

挑战

困难

编写一个硬币磁铁,把范围内的硬币吸过来。

  1. 使用 Input.GetAxisRaw 移动:x 轴使用 Horizontal,z 轴使用 Vertical,速度为 speed。
  2. 每个距离小于 range 且标签为 Coin 的对象,都会以 pullSpeed 的速度向玩家移动,使用 Vector3.MoveTowards 实现。
  3. 距离小于 0.5 时,硬币会被收集:销毁它,计数,并记录 "Coins: " + count。

按“开始”,扫过整个场地。然后按“检查”。

亲手试试

using System.Collections.Generic;
using UnityEngine;

public class Magnet : MonoBehaviour
{
    [SerializeField] private float speed = 5f;
    [SerializeField] private float range = 3f;
    [SerializeField] private float pullSpeed = 8f;

    void Start()
    {
    }

    void Update()
    {
    }
}

Unity 脚本基础中的所有课

自己练习: Unity 在线编辑器