Cocos2d-js笔记

来源:互联网 发布:网络广告费用预算 编辑:程序博客网 时间:2024/06/05 22:51

1、读取cocosStudio导出的json文件

var json = ccs.load("ccs-res/cocosui/UITest/UITest.json");var widget = json.node;this.addChild(widget, -1);

2、解析单独的一个控件

var btn = ccui.helper.seekWidgetByName(widget, "Button_1_2_6_10");btn.addClickEventListener(function(){cc.log("btn click");});


3、点击监听事件

var listener1 = cc.EventListener.create({    event:cc.EventListener.TOUCH_ONE_BY_ONE,    swallowTouches: true,        onTouchBegan: function (touch, event)        {          var target = event.getCurrentTarget();          var locationInNode = target.convertToNodeSpace(touch.getLocation());          var s = target.getContentSize();          var rect = cc.rect(0, 0, s.width, s.height);        if (cc.rectContainsPoint(rect, locationInNode))        {       cc.log("sprite began... x = " + locationInNode.x + ", y = " + locationInNode.y);       return true;        }          return false;        },   onTouchMoved: function (touch, event)        {       var target = event.getCurrentTarget();         //var delta = touch.getDelta();         //target.x += delta.x;         //target.y += delta.y;        },   onTouchEnded: function (touch, event)        {       var target = event.getCurrentTarget();       cc.log("sprite onTouchesEnded.. ");  }});cc.eventManager.addListener(listener1, btn);


4、JS调用OC方法(oc方法必须为静态)

第一个参数为:OC类名

第二个参数为OC静态方法名

第三个参数及以后,均为调用的该OC方法的参数

ret为oc方法的返回值

var ret = jsb.reflection.callStaticMethod("NativeOc", "ShowMessage:", "cocos2d-js");

5、OC调用JS方法(js方法为全局方法)

引入头文件  #import"cocosbuilder/js_bindings_ccbreader.h"

直接调用方法名,写成字符串,参数直接赋值或写成字符串拼接

ScriptingCore::getInstance()->evalString("cpp_callback(3,5)", &ret);

6、页面切换

var scene = new cc.Scene();var layer = new MyTestLayer();scene.addChild(layer);cc.director.runScene(scene);









0 0