目录
一、效果:
1.未修改:
2.修改后:
二、[Preserve]特性:
三、[RuntimeInitializeOnLoadMethod()]
四、Task.Run 方法:
五、SplashScreen.Stop方法:
六、最终代码:
一、效果:
1.未修改:
2.修改后:
二、[Preserve]特性:
详细说明可以看这位老哥的:使用Preserve特性防止反射调用代码在build时被裁剪
大概意思是:
代码在构建过程中会删除未使用或不可访问的代码,减少程序的最终大小。
而
[Preserve]:
可以显式声明在构建中保留的代码【防止程序打包后,需要的代码没有打包进程序中】
using UnityEngine.Scripting;//Preserve命名空间
[Preserve] //特性
public class WipeOffLoGo //告诉编译器打包时将自己打包进程序
{
}
三、[RuntimeInitializeOnLoadMethod()]
官方API地址:RuntimeInitializeOnLoadMethodAttribute
允许在运行时加载游戏时不通过用户操作 初始化一个运行时类方法。
游戏加载后,在调用Awake之后,会调用标记为
[RuntimeInitializeOnLoadMethod]
的 方法。
using UnityEngine;//引用命名空间
public class WipeOffLoGo
{
[RuntimeInitializeOnLoadMethod]
private static void LoGo()
{
}
[RuntimeInitializeOnLoadMethod(枚举)]
private static void LoGo()
{
}
}
AfterSceneLoad | 在场景加载后 |
BeforeSceneLoad | 在场景加载前 |
AfterAssembliesLoaded | 加载完所有程序集并初始化预加载资源时的回调 |
BeforeSplashScreen | 在显示启动画面之前 |
SubsystemRegistration | 用于子系统注册的回调 |
四、Task.Run 方法:
API地址:Task.Run 方法
如果不开启线程执行的话,这里使用的关闭启动画面代码有可能执行不到
五、SplashScreen.Stop方法:
API地址:SplashScreen.Stop
Unity官方提供API,用于停止启动画面渲染文章来源:https://www.toymoban.com/news/detail-610756.html
StopImmediate | 立即停止渲染 SplashScreen |
FadeOut | 跳到启动画面的最后阶段,并从背景逐渐过渡到游戏 |
六、最终代码:
这个脚本建议放在 Plugins 目录下【WebGL适用】文章来源地址https://www.toymoban.com/news/detail-610756.html
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Scripting;
[Preserve]//特性,防止在打包的时候这个脚本 没有被打包进程序
public class StopVray
{
//在启动画面显示之前执行这个方法
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
private static void Test()
{
Task.Run(() =>
{
SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
});
}
}
到了这里,关于关闭Unity启动画面Logo【Unity2021.3.2】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!