【问题标题】:Making a sliding door that is unlocked with a key in unity统一制作用钥匙解锁的推拉门
【发布时间】:2016-07-22 19:03:36
【问题描述】:

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

这是钥匙卡的脚本:

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);

        }
    }
}

有什么想法吗?

【问题讨论】:

  • c# 不是脚本语言
  • 这里不是问“为什么我的代码不起作用”的地方。更新您的问题并告诉我们您调试问题所采用的方法。谢谢。
  • @FirstStep 我不认为他将其称为脚本语言。附加到组件的代码在 Unity 中称为脚本。 “Unity 允许您使用脚本创建自己的组件。这些允许您触发游戏事件、随着时间的推移修改组件属性并以您喜欢的任何方式响应用户输入。”来自他们的手册。
  • @Timmy 哦,很酷,感谢您指出这一点

标签: c# unity3d


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-01
    • 2018-11-01
    • 2022-01-20
    • 2014-10-26
    • 1970-01-01
    • 2018-08-24
    • 2022-01-19
    • 2023-03-29
    相关资源
    最近更新 更多