认识cocos2d-x jsbinding】的更多相关文章

There are 2 libraries in Plugins: mozjs-31. This is SpiderMonkey library, built from https://github.com/cocos2d/Spidermonkey (not Mozilla official repository, used by cocos2d-js). mozjswrap. This is JSBinding library, it links C# and SpiderMonkey tog…
参考:http://www.tairan.com/archives/4902 参考文章是2.x版本的,对于3.0也许不合适了,没有深究. 代码:https://github.com/kenkozheng/cocos2d-js/tree/master/jsbinding(cpp_js%20js_cpp) 1 JS调用C++ 3.0中写这个绑定比较简单,跟ANE调用java如出一辙,一个JSContext,一个jsval,使用cocos2d提供的c++和js变量转换的函数做好转换即可. cocos2…
Cocos2D 是一款游戏引擎,可与从电脑到手机等多种设备配合使用. 该引擎支持丰富的特性,可帮助创建出色的 2D 游戏.它甚至包含具备全面功能的物理引擎. CoCos2D 的核心元素是基本动画元素(即 sprite)的使用. sprite 可能是一个简单的 2D 图像.也可能是其它 sprite 的容器. 在该游戏引擎中,sprite 排列在一起形成场景.游戏级别或菜单. 如你所知.英特尔® 针对最新的工具推出了很多处理器,这些处理器可为开发者和用户带来出色的计算机图形. 在本文中,我将介绍怎…
好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 pyglet 达到你想要的效果.但是,没必要重复造轮子. cocos2d 的基本概念包括了 director.scene.layer.框架的作者认为,写游戏和排练电影动画片差不多.director 呢就是导演的意思,scene 就是场景,layer 就是层次.对此,我们可以简单理解为,一个游戏有且…
require "Cocos2d"require "Cocos2dConstants"local testscene = class("testscene",function()        return cc.Scene:create()end)function testscene:create()local  scene = testscene.new()    return sceneend--默认函数function testscene…
很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例如,力量,速度,耐力,来直观的显示出物体的特征,让玩家能够一眼看出区别 首先我们需要准备一下素材 显示面板的背景"Panel.png",比如:尽量能够以三角形为背景 1- 新建一个继承自CCSprite的类,命名为CCPanel 2- 在头文件中添加 @interface ZOPanel…
转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开发语言objective-c).对于有一定编程经验的人来说,学习objective-c可能1-2周时间就够了,但是,要真正用好这门语言,并且最大限度地利用这门语言来提高开发效率的话,那就需要时日了.这里推荐两本书<objective-c基础教程>和<iphone开发基础教程>,这两本都…
视频 - http://www.manew.com/forum-105-3.html一个论坛帖 - http://www.zhihu.com/question/21114802官网 - http://www.cocos.com/doc/tutorial/index?level=0&type=cocos2d-x&per_page=104 一个大神开发例子 -   http://angelowon.lofter.com/post/1e18fc_65d7c3 Sprite Kit与Cocos2d…
最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp-xxxx-windows.exe,下载地址:https://developer.nvidia.com/tegra-android-development-pack 表扬一下nvidia公司的雷锋做法,这个安装包集成了所有工具,这样就不需要我们再一个个去下载安装了,一键安装,全部搞定!注意安装的时候…
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create(""); this->addChild(spBG); //添加到当前层 spGB->setPosition(ccp(x,y)); //设置坐标 spGB->setScale(0.5); //缩放 文字按钮: CCMenuItemFont* pItem = CCMenuItemFont::c…
编译步骤: 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/bridge…
将框架代码导出到 JavaScript.就可以在 JavaScript 中调用 框架代码 的功能. 注意,这个功能是在 Js工程中做的,Cs工程没有这回事. 如何导出? 1. 将需要导出的类添加到 JSBindingSetting.classes 数组中, 2. 运行菜单 [JSB | Gen Bindings] 即可. 建议是把 UnityEngine.dll 的所有类全部写进去,一次性全部导出,以后就不需要再逐个添加了. 不过以后真正运用到项目中,可能需要各自维护,因为每个项目的需求可能不同…
在JSB+Bridge工程中你可以同时维护Cs版本和Js版本的游戏. 框架代码:简称framework,表示那些不进行热更的代码.注意,这包括你自己写的代码,也包括引用的Dll,比如UnityEngine.dll,或者是其他第3方Dll,都算是框架代码. 逻辑代码:简称logic,表示那些可进行热更的代码.逻辑代码将会变成Js代码. 1. 在Cs工程中,将代码明确划分为框架和逻辑.框架代码放在 Assets/Scripts/GameFramework(有源代码,或者Dll也放这个目录下吧),逻辑…
限制: 框架代码不可以访问逻辑代码.这是最基本的. 框架里的函数 f 带数组参数时,逻辑代码调用 f 的话,数组只能做为输入,也就是说,如果在框架函数 f 里修改了数组的内容,那么逻辑代码是无法取得新内容的.这是为了性能考虑. js<->cs 交互时,数组只支持一维 纯逻辑对象不可以传递到框架代码中.例如 List<> 对象. 反射相关代码,部分支持.具体看你咋用,有时候是可以的,Bridge 在 Js 模拟了一套类型系统.可以看编译成 Js 时有没有报错,如果没报错,应该就可以的…
老版本链接如下:http://www.cnblogs.com/answerwinner/p/4469021.html 新用户不要再使用老版本了. 新版本 JSBinding 将抛弃 SharpKit 转而使用 Bridge.NET(老版本仍然维护). 理由是 1. 把 C# 编译成 Js 后,Bridge 几乎100%确定转换后可运行. Bridge 在编译时不允许引用外部 Dll(System.dll也不行).允许使用的 C# Api 都是 Bridge 已严格测试过的.一般来说,编译能过,就…
Unity version compatibilities 5.3.5 5.2.0 5.1.5 5.0.4 4.7.2 4.7.0 4.6.9 4.6.0 4.5.5 Platform compatibilities Windows 32 editor 32 executable 64 editor 64 executable Mac OS 32 editor 32 executable 64 editor 64 executable Android arm-v7a x86 iOS Mono 2…
Q: Why javascript file extension is .javascript?A: Because Unity treats .js files as Unity script and will try to compile it. Q: Does JSBinging support javascript debugging?A: No. We did support debugging in old versions, but it's very hard to use. Q…
// // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> #import "cocos2d.h" #import "CCCrack.h" @interface TestLayer : CCNo…
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:"请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项."这个问题的答案很多,有人讲是"如何加载和保存游戏数据",有人讲的是"如何实现有限状态机"等等.而最吸引我的则是,有一…
Atitit 游戏的通常流程 attilax 总结 基于cocos2d api 加载音效1 加载页面1 添加精灵1 设置随机位置2 移动2 垃圾gc2 点击evt2 爆炸效果3 定时生成精灵3 加载音效 //load resources cc.audioEngine.playMusic(res.bgMusicSynth_mp3,true); 加载页面 var PlayLayer={   //main layer,,one scence must hav a scence PlayLayer.ct…
cocos2d是使用pyglet事件框架来处理事件的. 其中,包括分发器(发射器)和监听器两部分.下面形象的来打个比方. 这个机制就好比一把枪,三步:扣扳机(触发),上弹(注册),给子弹上***(这个装逼一点叫监听,实际上就是定义一个函数). 1.我们首先想到的使用枪就是扣扳机,而这就是cocos2d的事件触发,说明白点就是去调用某一个事件(函数). :self.dispatch_event('XXX') 2.我们光有扳机还不行,我们还得说明在扣完扳机之后要做什么?当然是发射子弹了,但是程序还不…
根据http://www.merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/ 用cocos2d画线时出现闪烁问题 原有的画线部分放在CCLayer的draw函数里面 -(void)draw { [renderTexture begin]; 画线部分 [renderTexture end]; } 由于draw每帧时都执行,故draw频繁调用, 出现闪烁,解决方法是利用update, [self…
doxygen工具 生成cocos2d的api文档 位图字体编辑工具 Glyph Designer http://www.71squared.com/glyphdesigner  收费的 CCLableTTF 使用系统字体 //CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64]; 特点:渲染耗内存: CCLabelAtl…
Description JSBinding is a tool enabling you to run actual javascript in Unity3D. It contains Mozilla SpiderMonkey JavaScript engine version 33 library. JSBinding's target users are people who would like to develop Unity applications with existing or…
2048 Source 2048 source code is here: https://github.com/gabrielecirulli/2048 Play here!http://gabrielecirulli.github.io/2048/ The code contains 2 parts: logic and presentation(ui, animation, etc.). In order to make it run in Unity editor, JSBinding…
About JSComponent JSCompnent is a normal Unity script. It inherits from JSSerializer and JSSerializer inherits from MonoBehaviour. public class JSSerializer : MonoBehaviour { } public class JSComponent : JSSerializer { } When using c#, steps to add a…
new a gameobject & overloaded methds var go1 = new UnityEngine.GameObject.ctor(); var go2 = new UnityEngine.GameObject.ctor$$String("Hello"); add/get c# component (UnityEngine.Transform.ctor); (UnityEngine.UI.Image.ctor); image.set_color(/,…
轻轻一点菜单:[JSB | Compile Cs to Js] 主要产出:StreamingAssets/JavaScript/SharpkitGeneratedFiles.javascript,你的所有逻辑代码都在这里 其他产出: Temp/AllInvocations.txt:记录所有逻辑代码对框架代码的调用 (1) Temp/AllInvocationsWithLocation.txt:同上,但同时记录每个调用的文件名和行号 (2) Temp/YieldReturnTypes.txt:记录…
首先,其实不是热更新,而是更新. 热更新意思是不重启游戏,但只要你脚本里有存储数据,就不可能.所以只能叫更新. 但大家都这么说,所以... 先举个具体的例子: 如果是C#:在 Prefab 的 GameObject 上绑定 C# 脚本,这个 Prefab 会被打包成 AssetBundle,然后通过 AssetBundle.Load 加载到游戏中. 因为C#本身不可能更新,所以就无法修改. JSB的方案是,将这些 C# 的 MonoBehaviour 都替换成 JSComponent_xxx.这…