Open woct0rdho opened 3 years ago
最后这个中文的问题,我本地试了下这样可以解决。相当于强制走一发Encoding转换 而不是默认先尝试Ansi...
public static string lua_ptrtostring(IntPtr str, int len)
{
/*
string ss = Marshal.PtrToStringAnsi(str, len);
if (ss == null)
{
byte[] buffer = new byte[len];
Marshal.Copy(str, buffer, 0, len);
return Encoding.UTF8.GetString(buffer);
}
return ss;
*/
byte[] buffer = new byte[len];
Marshal.Copy(str, buffer, 0, len);
return Encoding.UTF8.GetString(buffer);
}
ps. 后来翻了下xlua处理方式发现是一样的2333
好啊,但是这样会有性能损失,或者在某些情况下不兼容吗(不用UTF-8的平台应该只有Windows吧)
兼容问题应该还好,因为Encoding.UTF8.GetString内部其实处理了。
或者就参考xlua那个 用UNITY_WSA && !UNITY_EDITOR
包一下? PC上这点性能损失洒洒水了...
你好,打开unity出现报错 Library/PackageCache/com.unity.render-pipelines.universal
的情况怎么办呢,我已经更新到最新小版本23.2.13f1c1
你好,打开unity出现报错
Library/PackageCache/com.unity.render-pipelines.universal
的情况怎么办呢,我已经更新到最新小版本23.2.13f1c1
在package manager里找到跟URP相关的包,看它的所有版本,其中有一个版本旁边有绿色的verified,把它换成这个版本
你好,打开unity出现报错
Library/PackageCache/com.unity.render-pipelines.universal
的情况怎么办呢,我已经更新到最新小版本23.2.13f1c1在package manager里找到跟URP相关的包,看它的所有版本,其中有一个版本旁边有绿色的verified,把它换成这个版本
没有找到verified,换成了这个版本,现在出现了Assets\Nova\Sources\Scripts\UI
和Assets\Nova\Sources\Scripts\InputFieldMinigameController.cs
里的报错请问怎么办呀,麻烦了
你发一下报错信息,如果东西多的话可以再开一个issue
如果在Unity Editor中开始游戏时闪退,先检查一下是不是硬盘满了
然后可以试试清空存档:在Unity Editor的上面的菜单中,点击
Nova -> Clear All
如果演出方面遇到任何奇怪的问题,也可能需要清空存档
打包给别人测试时,也可能需要在别人的电脑上清空存档,存档和快捷键设置的位置详见: https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html 其他设置的位置详见: https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
(但是在游戏全部做完之后,打包给别人玩,别人之前也没有玩过测试版,那么正常情况下肯定不用清空存档,否则就是bug,请告诉我们)
如果用Unity Editor上面的那个按钮退出游戏模式,一般会有空引用之类的报错,不用管它。如果在游戏中正常退出游戏,应该没有报错,否则就是bug,请告诉我们
如果打开Unity Editor时出现报错
Library/PackageCache/com.unity.render-pipelines.universal ...
,建议升级Unity到最新的小版本(不用改2020/2021/2022的大版本),不方便的话也可以在package manager里降级URP到推荐的版本如果build时Scripting Backend是Mono,并且游戏安装路径中有中文,可能会出现
LuaRuntime
的问题,用IL2CPP就不会有这个问题,详见mono/mono#7117