Skip to main content
 首页 » 编程设计

c#之unity制作一个用 key 开锁的推拉门

2024年04月18日37hnrainll

我一直在尝试为我的统一关卡制作一扇滑动门,并且我已经设法设置了动画,但是应该将功能与对象联系起来的脚本不起作用。

这是 key 卡的脚本:

using UnityEngine; 
using System.Collections; 
 
public class Key_Pickup_1 : MonoBehaviour { 
 
 
public GameObject player; 
private Player_inventory playerinventory; 
 
void Awake () 
{ 
    playerinventory = player.GetComponent<Player_inventory>(); 
} 
 
// Update is called once per frame 
void onTriggerEnter() 
   { 
 
    if (gameObject == player) 
    { 
        playerinventory.hasKey_1 = true; 
        Destroy(gameObject); 
    } 
 
   } 
} 

这是门动画的脚本:

    using UnityEngine; 
    using System.Collections; 
 
    public class Door_Animation_1 : MonoBehaviour { 
 
    public string Open; 
    private Animator anim_1; 
    public GameObject player; 
    private Player_inventory playerInventory; 
 
    void Start() 
{ 
    anim_1 = GetComponent<Animator>(); 
    player = GameObject.FindGameObjectWithTag("Player"); 
    playerInventory = player.GetComponent<Player_inventory>(); 
} 
 
void OntriggerEnter (Collider other) 
{ 
    if(other.gameObject == player) 
    { 
        if (playerInventory.hasKey_1) 
        { 
            anim_1.SetTrigger(Open); 
 
        } 
    } 
} 

有什么想法吗?

请您参考如下方法:

OnTriggerEnter 的大小写不正确代码中的方法。你有两种不同的拼写,它们都是错误的。它必须完全 OnTriggerEnter (或 OnTriggerEnter2D 对于带有 Collider2D 而不是 Collider 的对象)。