在Unity中使用Scorpio-CSharp

Scorpio-CSharp是为了解决Unity游戏各个平台热更新的问题
Unity3d发布平台支持:
WebPlayer
PC (Windows Mac Linux)
IOS(包括IL2CPP)
Android
BlackBerry
Windows Phone 8
WebGL(Unity5.0Beta)

语法参照js语法(90%)  具体使用方法参照ulua
hello world示例:

using System;
using Scorpio;
public class Program {
    static void Main(string[] args) {
        Script script = new Script();
        script.LoadLibrary();
        Console.WriteLine("返回值为 : " + script.LoadString(@"print(""hello world"")"));
    }
}

脚本里调用c#函数示例:
     String = import_type("System.String")
     print(String.Format("{0}-{1}-{2}-{3}-{4}",1,2,3,4,5))

注 : import_type可以直接注册一个c#类到脚本里面 类名必须是完整路径 import_type载入的类 必须要 先调用 script.PushAssembly 压入可以加载的程序集

更多示例请下载源码查看

QQ群:245199668
附上源码下载地址 :  https://github.com/qingfeng346/Scorpio-CSharp

时间: 2024-08-06 19:29:06

在Unity中使用Scorpio-CSharp的相关文章

在Unity中使用Direct2D

在Unity中可能需要在纹理上面绘制文字.图像等.比如游戏中的显示器,手机等等等等等.太多了. Unity的Textute2D类提供了设置像素的操作,但是这效率实在不敢恭维. 汉字数量巨大,全部贴在一张图上既耗空间,不方便改变字体样式. 使用FreeType2等CPU计算的文字库一帧又画不了多少,毕竟还要提交到显存 于是瞄准了Direct2D,当初学习这图像接口时就被微软说的"能与Direct3D进行完美交互"所吸引. 好在Unity支持DX11了,我们能够在Unity上面使用Dire

在Unity中创建可远程加载的.unity3d包

在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直接提供.unity3d的导出功能,但可以通过其手册了解到一些,并打开菜单项. 翻看Unity关于AssetBundle的手册,有相关的链接: BuildPipeline.BuildAssetBundle Building AssetBundles [注意]导出.unity3d格式需要pro版本,非p

Unity中C#调用C++写的DLL之Swig篇

hash索引btree索引聚簇索引非聚簇索引 安装AndroidSDK的一些坑与注意点 近来要用Unity打包到安卓上玩, Unity那边需要用到服务器中用C++写的库,对比了 P/Invoke 和 C++/CLI 两种方式, 都不够省心省力, 决定使用 Swig来撸. 教程基本上按照这篇文章就可以, 文章写得非常详尽, 但文中关于设置 swiglib.i 自定义生成工具的命令行的时候, 他文中的下面一段要注意 : 在常规中选择命令行并且写入: echo on $(SolutionDir)/..

在Unity中使用事件/委托机制(event/delegate)进行GameObject之

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 一对多的观察者模式机制有什么缺点? 如果你对如何在Unity中使用事件/委托机制还不太了解,建议您查看我的前一篇文章:[Unity3D技巧]在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 在前一篇博客里面,我们写到

unity中三种调用其他脚本函数的方法

第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用-- 第二种,GameObject.Find("脚本所在物体名").SendMessage("函数名");  此种方法可以调用public和private类型函数 第三种,GameObject.Find("脚本所在物体名").GetComponent<脚本名>().函数名();此种方法只可以调用public类型函数 unity中三种调用其他脚本函数的

关于Unity中的NGUI和UGUI

用Unity开发2D游戏,有三套关系 1.GUI:Unity本身的对象 2.NGUI:以前在Unity中广泛来做2D的,是第三方的包,需要安装 3.UGUI:Unity5.X后,Unity找到NGUI的作者,开发了UGUI,变成内置于Unity中的包,官方主推 所有的元素都在Unity的UI工具栏 3D做2D游戏的方法: 1: 使用正交摄像机;2: 使用透视摄像机,将2D元素移动到合适的距离. 例如设计分辨率为 960x640, 得到在3D世界里面一个图片的大小w*h米,将这个图片移动到一定的距

Unity中使用协程进行服务端数据验证手段

近期在做项目中的个人中心的一些事情,用户头像上传,下载,本地缓存,二级缓存,压缩,这些都要做,麻雀虽小五脏俱全啊,也是写的浑浑噩噩的, 当我们在上传用户头像的时候,向服务端发送上传头像请求之前,一般都会做一次验证,向服务端获取token验证信息,来确保非法上传,如果不做这个那么会有非法用户上传非法图像,使你的服务器 带来未知的灾难. 而验证的逻辑很好写,并没有什么难度,比如: Server.SendMessage("获取token"); Client.Receive(string to

C#中的yield return与Unity中的Coroutine(协程)(下)

Unity中的Coroutine(协程) 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件, Image: 将以下代码绑定到Image 1 using UnityEngine; 2 using System.Collections; 3 using System.Threading; 4 using UnityEngine.UI; 5 6 public class CoroutineDemo : MonoBehaviour { 7 8 //

【Unity技巧】Unity中的优化技术

写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中. 这篇文章旨在简要地说明一下常见的各种优化策略.不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料. 还有一些我认为非常好的参考文章: Performance Optimization for Mobile Devices

在Unity中定义统一的对象搜索接口

我们经常要在Unity中以各种方式搜索对象.比如按名字搜索.按tag.layer或者是查找名字为xxx开头的对象. 本文是介绍以一种统一的接口来搜索对象. 1.定义统一的搜索接口 /// <summary> /// 游戏对象搜索接口 /// </summary> public interface IGameObjectFinder { /// <summary> /// 搜索 /// </summary> /// <param name="r