UI 错误和方法被标记为覆盖,但没有找到合适的方法来覆盖

问题描述

当我完成我的整个游戏,然后在构建设置中构建它时,我发现了一些错误,它们是一般构建错误和我整个职业生涯中从未接触过的脚本的两个错误。该脚本是一个 UI 脚本,我什至在整个游戏制作过程中都没有接触或更改过。而且我在开发游戏或 UI 系统时也没有发现这个错误。它突然弹出,现在不让我运行游戏。

错误

G:\Unity\2020.2.1f1\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\VertexModifiers\Outline.cs(14,30): error CS0115: 'Outline.ModifyMesh(VertexHelper)': no suitable method found to override

G:\Unity\2020.2.1f1\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\VertexModifiers\Outline.cs(9,28): error CS0246: The type or namespace name 'Shadow' Could not be found (are you missing a using directive or an assembly reference?)

我已尽力寻找解决方案,最近几天我一直在尝试许多方法解决它,但一无所获。但是有一点需要注意,当我尝试通过将项目降级到 Unity 2019.4.18f1 来修复它时,我没有发现这个错误,但是我发现了一些对我来说似乎更复杂的新错误。经过上周的研究,现在我在这里寻求帮助有点无助。现在我也在考虑从头开始做这个项目。如果你能帮助我,那就拜托了,因为现在只有你的帮助才能让我在接下来的几周内免于从头开始。

using System.Collections.Generic;

namespace UnityEngine.UI
{
[AddComponentMenu("UI/Effects/Outline",15)]
/// <summary>
/// Adds an outline to a graphic using IVertexModifier.
/// </summary>
public class Outline : Shadow
{
    protected Outline()
    { }

    public override void ModifyMesh(VertexHelper vh)
    {
        if (!IsActive())
            return;

        var verts = ListPool<UIVertex>.Get();
        vh.GetUIVertexStream(verts);

        var neededCpacity = verts.Count * 5;
        if (verts.Capacity < neededCpacity)
            verts.Capacity = neededCpacity;

        var start = 0;
        var end = verts.Count;
        ApplyShadowZeroAlloc(verts,effectColor,start,verts.Count,effectdistance.x,effectdistance.y);

        start = end;
        end = verts.Count;
        ApplyShadowZeroAlloc(verts,-effectdistance.y);

        start = end;
        end = verts.Count;
        ApplyShadowZeroAlloc(verts,-effectdistance.x,-effectdistance.y);

        vh.Clear();
        vh.AddUIVertexTriangleStream(verts);
        ListPool<UIVertex>.Release(verts);
    }

}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)