public class MagnetCollider : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnTriggerEnter(Collider other) { if (other.tag == "coin") { StartCoroutine(HitCoin(other.gameObject)); } } IEnumerator HitCoin(GameObject coin) { bool isLoop = true; while (isLoop) { if (coin == null) { isLoop = false; continue; } coin.transform.position = Vector3.Lerp(coin.transform.position, PlayController.instance.gameObject.transform.position,Time.deltaTime*20); if (Vector3.Distance(coin.transform.position, PlayController.instance.gameObject.transform.position) < 0.5f) { coin.GetComponent<Coin>().HitItem(); isLoop = false; } yield return null; } } }
时间: 2024-02-10 16:19:24 浏览: 148
这是一个用于吸引硬币到玩家控制器位置的碰撞器脚本。主要逻辑如下:
1. 当硬币进入碰撞器时,触发OnTriggerEnter函数。
2. 如果碰撞到的对象标签为“coin”,则启动一个协程HitCoin,将硬币吸引到玩家控制器(PlayController)的位置。
3. 在HitCoin协程中,使用Vector3.Lerp函数逐渐将硬币移动到玩家控制器位置,移动速度为Time.deltaTime*20。
4. 如果硬币与玩家控制器距离小于0.5f,则调用硬币的HitItem函数,用于播放硬币被吸收的动画效果。
总体来说,这个脚本是一个简单的物理效果实现,用于增加游戏的趣味性和可玩性。
相关问题
using System.Collections; using System.Collections.Generic; using UnityEngine; public class AutoDestory : MonoBehaviour { public float destoryTime = 0.7f; // Use this for initialization void Start () { //Destroy(gameObject, destoryTime); } // Update is called once per frame void Update () { } }
这是一段使用Unity引擎的C#代码,它定义了一个名为AutoDestory的类。在此类中,有一个公共浮点数变量destoryTime,表示物体销毁的时间。在Start()方法中,注释掉了一个Destroy()函数,该函数可以在指定时间后销毁该物体。在Update()方法中,没有任何代码。这个类的作用是在指定时间后自动销毁物体。
public class GameAttribute : MonoBehaviour { public int coin; public int multiply = 1; public static GameAttribute instance; public int life = 1; public int initial_life = 1; public Text Text_Coin; public bool soundOn = true; // Use this for initialization void Start () { coin = 0; instance = this; } public void Reset() { life = initial_life; coin = 0; multiply = 1; } // Update is called once per frame void Update () { Text_Coin.text = coin.ToString(); } public void AddCoin() { GameAttribute.instance.coin += multiply; } }
这是一个用于游戏开发的 C# 脚本,它包含了一些游戏属性的定义和操作。其中,coin 表示金币数量,multiply 表示金币的倍数,life 表示生命值,initial_life 表示初始生命值,Text_Coin 是一个用于显示金币数量的 UI 元素,soundOn 表示游戏中是否开启声音。在 Start 函数中,将 coin 初始化为 0,并将 instance 设置为当前实例。Reset 函数用于重置游戏属性。在 Update 函数中,将 Text_Coin 的文本内容设置为当前金币数量。AddCoin 函数用于增加金币数量。
阅读全文