Unity3d 开发之 ulua 坑的总结
相同的 lua 代码在安卓上能正常运行,但在 IOS 上可能不会正常运行而导致报红,崩溃等,我在使用 lua 编程时遇到的一些坑总结如下:
1. File.ReadAllText, 诸如以下代码在 ios 上会崩:
local path="C:/1.txt";
local file=luanet.import_type("System.IO.File");
local text=file.ReadAllText(path);
正确写法如下:
local path="C:/1.txt";
local file=luanet.import_type("System.IO.File");
local encoding=luanet.import_type("System.Text.Encoding");
local text=file.ReadAllText(path,encoding.UTF8);
需指定编码格式。
2. DateTime.AddMinutes 在 ios 会找不到 AddMinutes 方法,但 AddSeconds 方法是可以的。
local DateTime = luanet.import_type("System.DateTime");
local startTime=DateTime.Parse("...");
--local endTime=startTime:AddMinutes(1); -- 在 ios 上报红:找不到 AddMinutes 方法
local endTime=startTime:AddSeconds();
3. 在 ios 64位 release 版本上,使用 Color 会导致崩溃。
local uiLabel=this.transform:Find("Label"):GetComponent("UILabel");
uiLabel.color=Color.red; -- 其中,Color是ulua提供的类,此行代码将导致崩溃
4. 诸如以下代码在 ios 64 位 release 版本上会 crash,其中 c# 代码为:
public class LoadCardHandler
{
public GameObject Load(string name, Transform parent, int depth = , string defaultName = null)
{
...
}
}
然后 LoadCardHandler 类通过 wraps 的方式映射到 lua 中,在 lua 中使用如下:
local loader=LoadCardHandler.New();
loader:Load(m_activityItemConfig.ad_pic,m_advertisementParent,,""); -- 这行代码将导致崩溃。
5. 诸如以下代码会在 ios 上报红:
local button=rootTrans:GetComponent("UIButton");
button.onClick:Clear(); -- 在ios上此方法会报错
6. 以下代码会导致 ios 上闪退:
LuaUtils.ShowLoadSystemAnim("LoadAndClose", DelegateFactory.Action(Conceal));
7. c#的长整型传到lua代码中时会有一点误差,所以最好是把在c#里把长整形转成字符串再传到lua里。
8. 以下方法通过 wrap 的方式映射到 lua 中,在 lua 中调用。在用 xcode6.4 打包的 release 版本,在 64 位手机上运行此方法时将导致未响应。
其中c#的代码为:
public static string[] StringSplit(string src, params string[] separator)
{
return src.Split(separator, StringSplitOptions.RemoveEmptyEntries);
}
lua代码为:
local lines=LuaHelper.StringSplit(text,"\n"); -- 此行代码: ios xcode6.4 出的包,在64位手机上导致未响应。
转载请注明出处:http://www.cnblogs.com/jietian331/p/4971120.html
Unity3d 开发之 ulua 坑的总结的更多相关文章
- 【转】Unity3D开发之Http协议网络通信
之前unity3d项目要做跟服务器通信的模块,然后服务器那边的协议是基于http的Jsonrpc通信方式一开始,用C#的本身类HttpWebRequest来提交请求,很快就在电脑上面成功了,代码也很简 ...
- Unity3D开发之Mac OS 开发环境搭建 笔记
http://www.cnblogs.com/zhaoqingqing/p/3383167.html 首先上几张图: 摸索了一上午,才搞定在模拟器中运行.至于在Iphone真机中运行,虽然有开发者证书 ...
- Unity3D 开发之shader教程(浅谈光照之漫反射diffuse)
在游戏开发过程中,光照应该是必不可少部分,当然,这是指大多数的稍微大型一些的3D游戏会需要,给模型或者山山水水加上光照,会看上去更加的真实,获得更好的体验.一个本身不发光物体显示什么颜色,在于本身反射 ...
- Unity3D开发之NGUI点击事件穿透响应处理
http://www.xuebuyuan.com/1936292.html 在使用NGUI 开发2D项目的时候,发现了一个问题,就是如果点出一个菜单,然后点击菜单上面的按钮的时候就会使得按钮下面的物品 ...
- Unity3D开发之“获取IOS设备所在的国家代码"
原地址:http://dong2008hong.blog.163.com/blog/static/469688272014021025578/ 在前一段时间游戏开发中需要实现获取IOS设备所在的国家代 ...
- Unity3D开发之NGUI结合粒子系统的遮挡问题
原地址:http://blog.csdn.net/lihandsome/article/details/22194025 我的是NGUI3.0.3版本,在加入粒子系统的时候发现一直都是在精灵的下面,所 ...
- Unity3D开发之3D按钮的声音播放
这里我们首先就简易的制作一个非常简单的3D按钮![ 图中就一个cube 加个3DText,然后我们就编写代码 [RequireComponent(typeof(CompoundButton))]//特 ...
- Unity3D开发之Matrix4x4矩阵变换
在Unity开发中时常会用到Matrix4x4矩阵来变换场景中对象的位置.旋转和缩放.但是很多人都不太理解这儿Matrix4x4变换矩阵.通过DX中的变换矩阵我来讲一讲在unity中这个变换矩阵是怎么 ...
- [整理]Unity3D游戏开发之Lua
原文1:[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我地博客地址是blog.csdn.net/qinyuanpei.如果 ...
随机推荐
- Django 用户认证及OneToOneField
Django 用户认证如果自己不想写 就可以用django自带的认证 首选导入模块 models.py #!/usr/bin/env python #_*_ coding:utf8 _*_ from ...
- MySQL 异常错误码使用 及 对照表
DECLARE CONTINUE HANDLER FOR SQLWARNING, SQLEXCEPTION, NOT FOUND BEGIN GET DIAGNOSTICS CONDITION cod ...
- Sql server 开窗函数over()的语法
用法一:与ROW_NUMBER()函数结合用,给结果进行排序编号,如图: 代码如下: SELECT ROW_NUMBER() over(order by RequiredDate) num ,* fr ...
- sql server数据库中 INFORMATION_SCHEMA的用法
1.查询数据库的所有表: select * from INFORMATION_SCHEMA.TABLES 2.查询表名为xxx的所有列的信息 select * from INFORMATION_SCH ...
- 转:用ANT执行SQL
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21340438&id=5160076 http://kayo.itey ...
- layer弹出层
最近因为项目要求做了一个layer弹出层demo,先看效果图 好了,现在开始上代码 index.jsp <%@ page language="java" import=&qu ...
- jQuery Mobile 学习
jQuery Mobile 学习系列 http://blog.csdn.net/bao990423420/article/details/13995021
- robot framework -记录关键字
1.set value if (当条件满足时,进行变量赋值) 2.focus (将焦点定在制定的元素) 3.win close +title(关闭制定title) 4.get list items ...
- HDU4325--Flowers--树状数组,离散化
Description As is known to all, the blooming time and duration varies between different kinds of flo ...
- 转:Selenium中的几种等待方式,需特别注意implicitlyWait的用法
最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. ...