我按照 http://www.cocoachina.com/bbs/read.php?tid=196524 给的教材做了个例子,但是在运行的时候出现错误,如何修改
错误如下
cocos2d: iversion 1000
Assertion failed: (IsObject()), function FindMember, file /Users/hujiang/Documents/cocos/PrebuiltRuntimeJs/frameworks/runtime-src/proj.ios_mac/…/…/js-bindings/cocos2d-x/external/json/document.h, line 620.
下面两句注释掉可以运行,不注释掉出现上面的错误
var root = ccs.uiReader.widgetFromJsonFile(CocoStudio_index);
this.addChild(root,100);
以下是完整代码,app.js
var HelloWorldLayer = cc.Layer.extend({
isMouseDown:false,
helloImg:null,
helloLabel:null,
circle:null,
sprite:null,
ctor:function () {
//////////////////////////////
// 1. super init first
this._super();
/////////////////////////////
// 2. add a menu item with "X" image, which is clicked to quit the program
// you may modify it.
// ask director the window size
var size = cc.director.getWinSize();
// add a "close" icon to exit the progress. it's an autorelease object
var closeItem = cc.MenuItemImage.create(
res.CloseNormal_png,
res.CloseSelected_png,
function () {
cc.log("Menu is clicked!");
},this);
closeItem.attr({
x: size.width - 20,
y: 20,
anchorX: 0.5,
anchorY: 0.5
});
var menu = cc.Menu.create(closeItem);
menu.x = 0;
menu.y = 0;
this.addChild(menu, 1);
var root = ccs.uiReader.widgetFromJsonFile(CocoStudio_index);
this.addChild(root,100);
/////////////////////////////
// 3. add your codes below...
// add a label shows "Hello World"
// create and initialize a label
this.helloLabel = cc.LabelTTF.create("Hello World", "Arial", 38);
// position the label on the center of the screen
this.helloLabel.x = size.width / 2;
this.helloLabel.y = 0;
// add the label as a child to this layer
this.addChild(this.helloLabel, 5);
var lazyLayer = cc.Layer.create();
this.addChild(lazyLayer);
// add "HelloWorld" splash screen"
this.sprite = cc.Sprite.create(res.HelloWorld_png);
this.sprite.attr({
x: size.width / 2,
y: size.height / 2,
scale: 0.5,
rotation: 180
});
lazyLayer.addChild(this.sprite, 0);
var rotateToA = cc.RotateTo.create(2, 0);
var scaleToA = cc.ScaleTo.create(2, 1, 1);
this.sprite.runAction(cc.Sequence.create(rotateToA, scaleToA));
this.helloLabel.runAction(cc.Spawn.create(cc.MoveBy.create(2.5, cc.p(0, size.height - 40)),cc.TintTo.create(2.5,255,125,0)));
return true;
}
});
var HelloWorldScene = cc.Scene.extend({
onEnter:function () {
this._super();
var layer = new HelloWorldLayer();
this.addChild(layer);
}
});
resources.js
var CocoStudio_index = “res/DemoLogin/DemoLogin.json”;
var res = {
HelloWorld_png : “res/HelloWorld.png”,
CloseNormal_png : “res/CloseNormal.png”,
CloseSelected_png : “res/CloseSelected.png”
};
var g_resources =
//image
res.HelloWorld_png,
res.CloseNormal_png,
res.CloseSelected_png,
//json
CocoStudio_index
//plist
//fnt
//tmx
//bgm
//effect
];
-------------------------------------------------project.json
{
“project_type”:“javascript”,
“debugMode”:1,
“showFPS”:true,
“frameRate”:60,
“id”:“gameCanvas”,
“renderMode”:2,
“engineDir”:“frameworks/cocos2d-html5”,
“modules”:
“menus”,
“cocos2d”,
“extensions”,
“external”
],
“jsList”:
“src/resource.js”,
“src/app.js”
]
}