如何使用 C# unity 脚本挥刀

How to swing knife with C# unity script

我有一个人形模型(玩家),它可以正确行走并且被敌人跟踪。现在我想

1) 将'小刀'添加到我的播放器

2) 当按下space条按钮时,玩家应该取出刀

3)当点击鼠标左键时,它应该攻击敌人(如果刀已经出来,否则不攻击)

我完全不知道该怎么做,你能告诉我应该怎么走吗,有没有可以用来完成这个任务的脚本

谢谢

好吧,我希望这能帮到你!但请确保你的刀 gameObject 与玩家的手相连,或者你可以使用 instantiate() 方法生成

public GameObject Knife;  //  knife 3d model

public bool isKnifeActive;  // bool to check knife is there in hand or not

void Start()
{
    Knife.SetActive (false);
}

// Update is called once per frame
void Update ()
{
    if (Input.GetKeyDown (KeyCode.Space))
    {
        Knife.SetActive = true;
        isKnifeActive = true;
        StartCoroutine ("Knifedisable");
    }

    if (Input.GetMouseButtonDown (0)) 
    {
        playerAttack ();
    }
}

public void playerAttack()
{
    if (isKnifeActive) 
    {
        //********** play your knife - player attacking animation here ***************//
    }
}

IEnumerator Knifedisable()
{
    yield return new WaitForSeconds (5);
    Knife.SetActive = false;
    isKnifeActive = false;
}

void OnTriggerEnter()
{
    //********* write your opponent health reducing code here *************//
}

触发动画并编写减少敌人生命值的逻辑方式,但对于触发事件,您必须将对撞机和刚体附加到同一游戏对象,并确保您已选中 isTrigger 字段享受!!