Di chuyển trên nền tảng động
C# Code
using UnityEngine;
// Gắn script này vào Player
public class MovingPlatformInteractor : MonoBehaviour
{
private Transform originalParent;
void Start()
{
originalParent = transform.parent; // Lưu lại parent ban đầu (nếu có)
}
private void OnCollisionEnter(Collision collision)
{
// Kiểm tra nếu va chạm với một đối tượng có tag "MovingPlatform"
if (collision.gameObject.CompareTag("MovingPlatform"))
{
// Đặt player làm con của platform để di chuyển cùng nó
transform.SetParent(collision.transform);
}
}
private void OnCollisionExit(Collision collision)
{
if (collision.gameObject.CompareTag("MovingPlatform"))
{
// Trả player về trạng thái ban đầu khi rời khỏi platform
transform.SetParent(originalParent);
}
}
}Giúp nhân vật đứng vững trên các nền tảng di chuyển (moving platforms) bằng cách tạm thời đặt nhân vật làm con của nền tảng đó.