用Unity做游戏打包前运行正常,打包后逻辑出现错误的解决办法

这篇具有很好参考价值的文章主要介绍了用Unity做游戏打包前运行正常,打包后逻辑出现错误的解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、情况描述

        作为一名Unity小白,我在前面学了C#和Unity的一些基本操作之后,就想着看看游戏打包出来以后是什么样子的,于是我就去网上找流程打包了,参考文章是这个:(10条消息) [转]unity作品打包_unity打包项目_小小姑娘很大的博客-CSDN博客

        遇到标题中所描述问题的整个过程是这样的:

        开始不清楚脚本文件应该要存放到哪里,所以一开始我的所有脚本文件都是和Assets文件夹同级的,结果在打包的时候就出现了一个错误,如下:

用Unity做游戏打包前运行正常,打包后逻辑出现错误的解决办法

        翻译过来的大致含义就是“当编辑器正在导入资源或者编译脚本的时候不能打包”(这是我自己翻译的,我也不知道对不对),于是我就去搜这个问题的解决办法,搜到的结果是我需要将我的脚本文件都存放在Assets文件夹下的Editor文件夹中,这样才能解决这个报错。于是我就在Assets文件夹下新建了一个Editor文件夹,把所有的脚本文件移进去了。

        再次打包就没有报错了,并且也生成了一个游戏的exe文件。但是!!!当我找到游戏exe文件打开后(普通模式和管理员模式都试过了,结果是一样的),我的游戏逻辑一个都没有执行,我觉得很奇怪,明明在Unity里面运行游戏的时候逻辑非常正常,为什么打包完之后逻辑就不运行了,太离谱了!!!于是我就去网上找办法了,现在我将我的解决办法总结一下。

二、解决办法

1、不要使用中文来命名任何名称

        我去网上找办法的时候,一开始的关键词就类似于我现在这篇文章的标题,搜到的结果大多都是在说不要使用中文命名,例如脚本里面的名称空间、脚本文件名称等,甚至于整个游戏项目的路径上都不要用中文。

        我的建议也是不要用中文,因为有时候在识别名称的时候中文无法正确识别,所以还是不要用的好。不过我项目的问题不是出在这里,因为我自己本身是非常注意这一点的,在命名的时候没有使用任何中文。

2、把脚本文件放到正确的文件夹中

        我项目的问题是出在这个上面。

        前面我说过,我解决我那个打包报错的办法是将脚本文件都移进了Editor文件夹,而非常不巧的是,在打包后,Editor文件夹中所有的内容包括Editor文件夹都是不会作用于游戏场景的,可以理解为它们根本就不存在。有人可能就要说了,那直接把脚本文件都移出来放到别的文件夹中不就好了。No!不是这样的。在提出解决办法之前,我要先来说说为什么一开始打包的时候Unity会报出我前面说的那个错误。

        我们在Unity中新建一个C#脚本文件之后,会发现这个脚本文件自己添加了一个叫做“UnityEditor.VersionControl”的名称空间,这个名称空间只能作用于Unity编辑器中,离开了Unity编辑器就无法使用,并且添加了这个名称空间的脚本文件都是需要放到Editor文件夹中的,因为Editor文件夹就是用来存放Unity编辑器扩展脚本的文件夹,如果不放到Editor文件夹中,在打包的时候就会出现我前面说的那个报错。这才是前面报错的终极原因。

        这个时候我们就明白了,如果你的脚本文件需要使用到“UnityEditor.VersionControl”这个名称空间,那就必须要放到Editor文件夹中,否则打包时会报错;反之,如果你的脚本文件中不需要用到“UnityEditor.VersionControl”名称空间,那就应该把这个名称空间的引用语句删了或者注释掉,然后将脚本文件从Editor文件夹中移出来放到其它的文件夹中

        由于我的那些脚本文件并不需要使用“UnityEditor.VersionControl”名称空间,所以我就得到了我的终极解决办法,就是先将“using UnityEditor.VersionControl;”删掉或注释掉,然后在Assets文件夹下新建一个Scripts文件夹(别的名字也可以,我只是觉得Scripts语义比较易懂就用了这个名称),再将Editor文件夹中的脚本文件都移到这个Scripts文件夹中。

三、结束语

        到现在,虽然我打包时遇到的问题都已经解决了,但是我的这些办法可能只能解决我自己和一部分人的问题。如果看到这篇文章的你仍然无法解决自己遇到的问题,那么我建议你再去找找其他人的办法,或者参考一下这篇文章(如下链接,这篇文章在这次帮了我很大的忙),总之不要轻易放弃,因为办法总比困难多哈哈哈哈。关于上面我提出的解决办法,如果你有什么疑问或者我哪里说错了,那么请在评论区发表你的评论告诉我,先谢谢咯~

(11条消息) Unity常用文件夹_unity 文件夹_普鲁登斯的博客-CSDN博客

        本文参考文章均在文内提供链接,这里不再多加链接。文章来源地址https://www.toymoban.com/news/detail-449068.html

到了这里,关于用Unity做游戏打包前运行正常,打包后逻辑出现错误的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue 运行时正常,打包却报错

     解决方法:删除 vue-cli  自带的压缩  plugin:OptimizeCssnanoPlugin 具体操作:找到vue.config.再添加如下删除配置  

    2024年02月13日
    浏览(48)
  • 解决出现找不到bink2w32.dll无法运行游戏的问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个bink2w32.dll文件进行安装(前提是找到适合的版本),当我们执行

    2024年02月05日
    浏览(72)
  • Unity 解决 Reload Scripts Assemblies 每次运行都出现

    Reload Scripts Assemblies 进度条在每次点 Play 按钮运行时都出现,而且时间很长,即使空项目也要十秒左右,严重影响效率 我的 Unity 版本是 2021.3.2f1c1,环境是 Win10 21H2 在 Unity 中,进入 Edit - Project Settings - Editor 勾选 Enter Play Mode Options 如果 Reload Domain 勾选,则取消勾选 https://stac

    2024年02月11日
    浏览(62)
  • [游戏开发][Unity]出包真机运行花屏(已解决)

    原因是启动项目时的第一个场景没有相机是 Skybox或者SolidColor模式,我的启动场景只有一个UI相机,且Clear Flags是DepthOnly https://blog.csdn.net/yanchezuo/article/details/79002318

    2024年02月11日
    浏览(48)
  • Unity连接海康威视摄像头 打包后报107或是109的错误 解决方案

    最近在做一个海康威视摄像头的项目,万事俱备,打包G了。在此做一个备忘,先感谢“张富贵”老哥的帖子,原贴关于unity 引用海康威视SDK,打包后不显示问题_张富贵-的博客-CSDN博客_unity打包海康威视摄像头无法播放 解决方案:打包后的文件夹中,找到“文件名_Data-Plugin

    2024年02月15日
    浏览(125)
  • 解决winstore下载mincraft 出现错误提示的问题,以及minecraft.exe出现此应用无法在你的电脑上运行的原因分析。

    mincraft 点开显示此应用无法在你的电脑上运行,去C:XboxGamesMinecraft LauncherContent下看了下: 但是别人电脑上相同目录下一样的文件能运行,于是选择重装,但是刚开始下载就遇到这个问题: 商店提示这个 点开一看是0x80070005,去网上查了下是权限错误,E_ACCESSDENIED 用windbg看了

    2024年02月03日
    浏览(81)
  • idea编译正常,运行出现java: 程序包XX不存在

    最近在将maven项目fastjson升级到fastjson-1.2.83.jar版本,编译正常,运行出现程序包xxx不存在,但是确实有对应的jar包,在java代码也是正常的没有报错。 网上有说是idea的版本与maven构建的build不相容,个人摸索后发现就是maven构建jar包的问题 解决方案:第一种:确实解决了问题,

    2024年02月06日
    浏览(45)
  • Windows cmd中出现错误:“‘make‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。”的解决方法

            Windows系统缺少make工具,无法调用make工具的功能。         make工具主要负责一个软件工程中多个源代码的自动编译工作,同时它还可以进行程序运行环境监测、后期处理等工作。它通过读取“Makefile”的文件来自动化构建软件。简单来说,就是可以对源代码进行

    2024年02月08日
    浏览(61)
  • 6.pixi.js编写的塔防游戏(类似保卫萝卜)-游戏资源打包逻辑

    一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用 可以让资源一次请求,就能获取所有资源。打包过后也可以采用一定的方法对资源进行加密,在没用获得源码的情况下想要获得资源文件是比较困难的。 项目中运

    2024年02月10日
    浏览(50)
  • vue2.0运行导入的项目出现node:events:491 throw er; // Unhandled ‘error‘ event错误提示解决办法

    只为记录自己遇到的错误。  错误提示: App running at:   - Local:   http://localhost:8080/   - Network: unavailable   Note that the development build is not optimized.   To create a production build, run npm run build. node:events:491       throw er; // Unhandled \\\'error\\\' event       ^ 在尝试过关闭占用端口后还是无法解决

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包