您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-js笔记

2015-12-24 17:11 465 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: