JSBinding + SharpKit / 实战:转换 Survival Shooter

从 asset store 下载 Survival Shooter Unity4.6 版本用的那个

删除多余的代码及文件夹

/Scripts/       <-- 因为没有用

/Scenes/       <-- 因为是空的

/Animation/   <-- 因为是空的

/Prefabs/Hellephant.prefab

/Prefabs/ZomBear.prefab

删完后应该是这样的:

执行菜单:Mobile Input | Disable

添加 Coroutine-Update

// 文件

  1. EnemyManager.cs

// 要添加的代码

void LateUpdate()
{
    jsimp.Coroutine.UpdateCoroutineAndInvoke(this);
}

Joystick.cs 类定义改成:(之前逗号有问题)

public class Joystick : MonoBehaviour, IPointerUpHandler, IPointerDownHandler, IDragHandler

执行菜单:JSB | Add SharpKit JsType Attribute for all Structs and Classes

编译 SharpKit 工程

Replace!

_CompletedAssets/Prefabs/Hellephant.prefab
_CompletedAssets/Prefabs/Player.prefab
_CompletedAssets/Prefabs/ZomBear.prefab
_CompletedAssets/Prefabs/ZomBunny.prefab
Prefabs/Environment.prefab
Prefabs/GunParticles.prefab
Prefabs/Hellephant.prefab
Prefabs/HitParticles.prefab
Prefabs/Lights.prefab
Prefabs/ZomBear.prefab
_CompletedAssets/Scenes/Level 01.unity
时间: 2024-11-04 22:50:31

JSBinding + SharpKit / 实战:转换 Survival Shooter的相关文章

JSBinding + SharpKit / 实战:转换 2DPlatformer

2DPlatformer 是 Unity3D 的一个官方 Demo.本文将介绍使用 JSBinging + SharpKit 转换 2DPlatformer 的过程. 本文并不详细介绍每个步骤的细节.因为他们将在其他文章里做详细介绍. 准备工作:首先准备好 JSBinding 的工程,正确导入 JSBinding 插件. 2DPlatformer 是Unity3D的第一个示例代码,一共不到10M.麻雀虽小,五脏俱全.牵扯到很多东西,比如 prefab 的使用,结构体序列化,场景切换,音乐等等.

JSBinding + SharpKit / 实战:转换 Stealth

内容 public static string[] PathsNotToJavaScript = new string[] { "JSBinding/", // "Stealth/", // 去掉 "DaikonForge Tween (Pro)/", "NGUI/", }; 东西都拉到 Stealth 文件夹里 Replace

JSBinding+SharpKit / 菜单介绍

[JSB | Generate JS and CS Bindings] 生成绑定,即让 Js 和 Cs 互通.详情请看 JSBinding+SharpKit / 生成 JavaScript 绑定 [JSB | Add SharpKit JsType Attribute for all Structs and Classes] 在所有逻辑代码中,所有类的定义前面加上 [JsType(JsMode.Clr, "~/Assets/StreamingAssets/JavaScript/SharpKitG

JSBinding + SharpKit / 编译 Cs 成 Js

轻轻一点菜单:[JSB | Compile Cs to Js] 主要产出:StreamingAssets/JavaScript/SharpkitGeneratedFiles.javascript,你的所有逻辑代码都在这里 其他产出: Temp/AllInvocations.txt:记录所有逻辑代码对框架代码的调用 (1) Temp/AllInvocationsWithLocation.txt:同上,但同时记录每个调用的文件名和行号 (2) Temp/YieldReturnTypes.txt:记录

Unity代码热更新方案 JSBinding + SharpKit 介绍

目前Unity的代码更新方案有很多,主要以lua为主. JSBinding + SharpKit 是一种新的技术,他做了两件事情: JSBinding将C#导出到JS中,让你可以用JS写代码,就好像 lua 一样 SharpKit(sharpkit.net)将C#代码翻译成JS代码. 因此,他可以让你使用C#编译代码,之后一键转换成JS代码并正常运行.如果你的项目已经使用C#开发并希望能够更新代码,欢迎尝试使用. 本文先做简介,后续本博客将做详细介绍. 完全支持序列化功能.即可以在 Inspec

JSBinding + SharpKit / Home

Description JSBinding is a great tool enabling you to run actual JavaScript in Unity3D. It contains Mozilla SpiderMonkey JavaScript engine version 33 library. New version is expected to work with SharpKit (sharpkit.net). SharpKit is an open source to

JSBinding + SharpKit / Important Notes

Serialization of List<T> is not supported. public List<int> lst; // NOT supported, use int[] instead About menu: JSB | Add SharpKit JsType Attribute for all Structs and Classes. If you execute this menu more than once, only one JsType will be

JSBinding + SharpKit / 初体验:下载代码及运行Demo

QQ群:189738580 git地址:https://github.com/qcwgithub/qjsbunitynew.git插件源码地址(不包含SpiderMonkey源代码):https://github.com/qcwgithub/qjsbmozillajswrap.git 首先用 Unity 打开代码目录下的 proj 工程 由于使用的插件存在依赖,请将 Assets/Plugins/x86/mozjs-28.dll 拷贝于 Unity 安装目录下.如图所示. 如果没有做这个步骤,运

JSBinding+SharpKit / 更新的原理

首先,其实不是热更新,而是更新. 热更新意思是不重启游戏,但只要你脚本里有存储数据,就不可能.所以只能叫更新. 但大家都这么说,所以... 先举个具体的例子: 如果是C#:在 Prefab 的 GameObject 上绑定 C# 脚本,这个 Prefab 会被打包成 AssetBundle,然后通过 AssetBundle.Load 加载到游戏中. 因为C#本身不可能更新,所以就无法修改. JSB的方案是,将这些 C# 的 MonoBehaviour 都替换成 JSComponent_xxx.这