程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OnTriggerEnter' 的成员,具有相同的参数类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OntriggerEnter' 的成员,具有相同的参数类型?

开发过程中遇到Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OntriggerEnter' 的成员,具有相同的参数类型的问题如何解决?下面主要结合日常开发的经验,给出你关于Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OntriggerEnter' 的成员,具有相同的参数类型的解决方法建议,希望对你解决Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OntriggerEnter' 的成员,具有相同的参数类型有所启发或帮助;

我的脚本中需要有 2 个 OntriggerEnter() 因为我有 2 种类型的硬币,Speed Coin 和 Superjump Coin 所以当我触摸它时,它会增加跳跃高度和移动速度,但它会抛出 Assets\Scripts\Player .cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OntriggerEnter' 的成员,具有相同的参数类型

在我身边!

任何帮助都会很棒

using System.Collections;
using System;
using System.Collections.Generic;
using UnityENGIne;

public class Player : MonoBehavIoUr
{
    private bool jumpKeyWaspressed;
    private float horizontalinput;
    private RigIDbody rb;
    public transform Groundcheck;
    public LayerMask playerMask;
    privatE int superJUmp;
    privatE int Speed;

    // Start is called before the first frame update
    voID Start()
    {
        rb = GetComponent<RigIDbody>();
    }

    // update is called once per frame
    voID update()
    {
        if (input.GetKeyDown(KeyCode.SpacE))
        {
            jumpKeyWaspressed = true;
        }

        if (Speed > 0)
        {
            horizontalinput *= 2;
            Speed--;
        }
        horizontalinput = input.GetAxis("Horizontal");
    }

    private voID Fixedupdate()
    {
        rb.veLocity = new Vector3(horizontalinput,rb.veLocity.y,0);

        if (Physics.OverlapSphere(Groundcheck.position,0.1f,playerMask).Length == 0)
        {
            return;
        }

        if (jumpKeyWaspressed)
        {
            float jumpPower = 7f;
            if (superJUmp > 0)
            {
                jumpPower *= 2;
                superJUmp--;
            }
            rb.AddForce(Vector3.up * jumpPower,ForceMode.VeLocityChangE);
            jumpKeyWaspressed = false;
        }
    }

    private voID OntriggerEnter(CollIDer other)
    {
        if (other.gameObject.layer == 6)
        {
            Destroy(other.gameObject);
            superJUmp++;
        }
    }

    private voID OntriggerEnter(CollIDer other)
    {
        if (other.gameObject.layer == 8)
        {
            Destroy(other.gameObject);
            Speed++;
        }
    }
}

解决方法

您只需要一个 OntriggerEnter 函数:

 private void OntriggerEnter(Collider other)
 {
     switch (other.gameObject.layer)
     {
        case 6:
           Destroy(other.gameObject);
           superJUmp++;
           break;
        case 8:
           Destroy(other.gameObject);
           Speed++;
           break;
     }
}

大佬总结

以上是大佬教程为你收集整理的Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OnTriggerEnter' 的成员,具有相同的参数类型全部内容,希望文章能够帮你解决Assets\Scripts\Player.cs(69,18): error CS0111: Type 'Player' 已经定义了一个名为 'OnTriggerEnter' 的成员,具有相同的参数类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。