如何解决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 举报,一经查实,本站将立刻删除。