编译步骤:

1. 用 VS 2015 打开 BridgeProj/BridgeProj.sln ,编译

2. 将生成

  • BridgeProj/Bridge/output/bridge.js,对应于 Bridge.dll
  • BridgeProj/Bridge/output/bridge.collections.js,对应于 Bridge.Collections.dll (需要安装Bridge.Collections扩展才会有此项,往下看)
  • BridgeProj/Bridge/output/bridgeProj.js,对应于自己游戏的所有逻辑代码
  • BridgeProj/Bridge/output/csw.js,对应于 csw.cs

3. 要在 Js工程中起效,必须回到 Js工程中点击菜单 JSB | Update JavaScript

安装Bridge.Collections扩展:

1. 在 Bridge工程中,点击菜单:工具 -> NuGet包管理器 -> 程序包管理控制台

2. 运行命令:PM> Install-Package Bridge.Collections

3. 运行后,会看到工程中增加了 Bridge.Collections 引用

4. 安装完成后,可使用 Queue,Stack,HashSet

参考链接:

https://github.com/bridgedotnet/Frameworks/issues/11

https://www.nuget.org/packages/Bridge.Collections

有一点值得注意,用文本形式打开 BridgeProj.csproj,有这么一句:

<Compile Include="Logic\**\*.cs" />

意思是,工程会自动把 Logic 下(包括子目录)的源代码全部加进来。

这样的好处是,如果在 Cs 工程中加新的逻辑代码,会自动被添加进 Bridge工程中,而不用手动一个一个添加。就是Bridge工程可能要重新load一下,可以这样操作

更多细节可以参考:JSBinding+Bridge.Net:框架代码与逻辑代码的关系

返回:JSBinding+Bridge.NET:Unity游戏热更新方案

JSBInding+Bridge.NET:把C#编译为Js的更多相关文章

  1. JSBinding+Bridge.Net:框架代码与逻辑代码的关系

    在JSB+Bridge工程中你可以同时维护Cs版本和Js版本的游戏. 框架代码:简称framework,表示那些不进行热更的代码.注意,这包括你自己写的代码,也包括引用的Dll,比如UnityEngi ...

  2. JSBinding+Bridge.NET限制

    限制: 框架代码不可以访问逻辑代码.这是最基本的. 框架里的函数 f 带数组参数时,逻辑代码调用 f 的话,数组只能做为输入,也就是说,如果在框架函数 f 里修改了数组的内容,那么逻辑代码是无法取得新 ...

  3. JSBinding+Bridge.NET:Unity游戏热更新方案

    老版本链接如下:http://www.cnblogs.com/answerwinner/p/4469021.html 新用户不要再使用老版本了. 新版本 JSBinding 将抛弃 SharpKit ...

  4. JSBinding+Bridge.NET:生成绑定(导出)

    将框架代码导出到 JavaScript.就可以在 JavaScript 中调用 框架代码 的功能. 注意,这个功能是在 Js工程中做的,Cs工程没有这回事. 如何导出? 1. 将需要导出的类添加到 J ...

  5. JSBinding+Bridge:逻辑代码中操作二进制数据

    以这2个函数为例 class File { public static byte[] ReadAllBytes(string path); public static void WriteAllByt ...

  6. JSBinding+Bridge.NET:Inspector拖变量支持

    之前的文档说了,JSB的设计是不允许gameObject上挂逻辑脚本的.原因很简单,在Js工程中根本就不存在C#形式的逻辑脚本,如果在Cs工程中挂上了,到了Js工程这边,直接Missing. 实际在使 ...

  7. Emscripten编译环境搭建--将C和C++编译成JS

    Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...

  8. Atitit.dart语言的特性  编译时js语言大总结

    Atitit.dart语言的特性  编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...

  9. 热重载 预编译 编译器 JS引擎 作用域

    热重载就是页面每次改动,不需要手动去刷新,可自动刷新.保持vuex的状态. JS之预编译 JavaScript的预编译 编译器 JS引擎 作用域三者之间的关系 建议你先去看看你不知道的JavaScri ...

随机推荐

  1. Bootstrap CSS概览代码文字标注篇

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. 模块化以及requirejs和seajs

    我们用模块化的思想进行网页的编写是为了更好的管理我们的项目 模块与模块之间是独立存在的,每个模块可以独立的完成一个子功能. 模块化所涉及的规范commonjs,AMD,CMD,UMD 其中的commo ...

  3. C#为什么不采用多继承:

    C#为什么不采用多继承: 1.继承从来未被广泛使用. 2.多继承带来的问题往往多于其解决的问题. 3.多继承会引起潜在的歧义. C#核心编程

  4. [Python]命令行进度条

    关键点是输出'\r'这个字符可以使光标回到一行的开头,这时输出其它内容就会将原内容覆盖. import time import sys def progress_test(): bar_length= ...

  5. JCS缓存使用类

    项目是一个门户网站,一些新闻等会做缓存. 导入jar包: 项目跟目录下配置文件:cache.ccf #内存缓存 jcs.default= jcs.default.cacheattributes=org ...

  6. unix下输出重定向

    > 为重定向符号 >> 重定向不覆盖原文件内容 example: 1. 标准输出重定向 echo "123" > /home/123.txt ---- 标准 ...

  7. (转)Apache实现反向代理负载均衡

    说到负载均衡LVS这套技术,有很多种实现方法. 本文所说,主要就是利用apache服务器实现反向代理,实现负载均衡. 首先,传统的正向代理如下图所示,正如我们用的游戏加速代理,大多的个人PC把请求发给 ...

  8. Maven构件解析(转)

    文章转自http://gavinwind2000.iteye.com/blog/2290652 谢谢博主的总结! 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在 ...

  9. iOS—图片编辑,文字下落动画的Demo

    仿照Mac上的截图编辑功能做的一个图片编辑的Demo,功能有画矩形,圆形,箭头,手写,输入文字和分享. 做的时候看到一个大神的帖子写的一个文字动画的教程,故顺带学习做了一个类似的文字下落动画. 有兴趣 ...

  10. Ruby学习笔记0708

    #!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "Wo ...