我是 Cocos 2d js 的新手..... 我想知道如何使用 cocos2d js 绘制一个带有边框的矩形??.. 我试图谷歌但没有找到任何示例代码或类似的东西。 . 使用 HTML 和 CSS 非常简单...谢谢。
如何将本地文件系统中的JSON文件加载到javascript对象中?
类似于jQuery的东西:
$.getJSON( "ajax/test.json", function( data ) {
// data contains javascript object
});
Run Code Online (Sandbox Code Playgroud) 在我的简单项目中,我使用触摸事件来更改按钮状态:在这种情况下,一切正常
cc.eventManager.addListener(
{
event: cc.EventListener.TOUCH_ALL_AT_ONCE,
swallowTouches: false,
onTouchesBegan: onTouchesBegan,
onTouchesEnded: onTouchesEnded
}, this);
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下我的onTouchEnded函数从未被调用过:
cc.eventManager.addListener(
{
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: false,
onTouchBegan: onTouchBegan,
onTouchEnded: onTouchEnded
}, this);
Run Code Online (Sandbox Code Playgroud)
经过一段时间的调试后,我在cc.eventManager._onTouchEventCallback函数中找到了"if"语句:
} else if (listener._claimedTouches.length > 0
&& ((removedIdx = listener._claimedTouches.indexOf(selTouch)) != -1))
{
Run Code Online (Sandbox Code Playgroud)
在我的情况下,"listener._claimedTouches"== 0并且if语句拒绝调用onTouchMove和onTouchEnded侦听器.
有没有人知道为什么"listener._claimedTouches"== 0以及为什么会发生这样的事情?
我定义了字体资源
var res = {
indieflower_ttf: {type:"font", name:"IndieFlower", srcs:["res/fonts/IndieFlower.ttf"]},
}
Run Code Online (Sandbox Code Playgroud)
并创建一个TTF标签:
var text = cc.LabelTTF.create(text, "IndieFlower", bubble.fontsize, cc.size(60,0),cc.TEXT_ALIGNMENT_LEFT, cc.VERTICAL_TEXT_ALIGNMENT_TOP);
Run Code Online (Sandbox Code Playgroud)
并且在Firefox和Chrome中显示正常,但会在Android上显示默认字体(Arial).
还有什么要做的?我检查了线程Cocos2d-js:如何在Android设备上使用自定义ttf字体?,但它没有帮助.
我有一个moveTo sprite动作,我试图在移动时让精灵有动画.这是一部动画片.
我的麻烦是我可以让精灵moveTo或动画,但不是两者都在一起,以便当精灵停止移动时,动画返回到站立框架.
我正在使用cocos2d-js v3.0
this.sprite = new cc.Sprite.create("#player-stand-f-0");
this.sprite.setPosition(new cc.Point(300,300));
this.addChild(this.sprite);
var animFrames = [];
var str = "";
for (var i = 0; i < 5; i++) {
str = "player-walk-f-" + i;
var spriteFrame = cc.spriteFrameCache.getSpriteFrame(str);
var animFrame = new cc.AnimationFrame();
animFrame.initWithSpriteFrame(spriteFrame, 1, null);
animFrames.push(spriteFrame);
}
var animation = cc.Animation.create(animFrames, 0.025);
var animate = cc.animate(animation);
sprite_action = cc.MoveTo.create(2,cc.p(x,y));
this.sprite.runAction(sprite_action);
this.sprite.runAction(animate);
Run Code Online (Sandbox Code Playgroud)
我也试过以下但是步行会动画一次而不会继续直到moveTo停止.
var seq = cc.sequence(animate, sprite_action);
Run Code Online (Sandbox Code Playgroud)