分享:cocos2d-js 3.0 增强库

跪谢大神,正在拿这个试点小游戏:6:

cc.createSprite(sprite, attrs)

这个方法能否像cc.LabelBMFont.create一样创建用fnt的文字呢?

templates里,this.sprite的sprite没有在前面
sprite:null,
就可以直接用了,这是为什么呀?:6:

大神,发现小问题了,能留个Q吗?

sprite.moveBy(1, cc.p(0, 20)).repeatForever().act();
黑屏了,但把repeatForever换成repeat(1)就能动了……

我跟着文档,试着在Layer的ctor里写了
var movemovemove = cc.AnimationFragement.create().moveBy(0.1 , cc.p(0, 15));
this.retainTarget(movemovemove.getAction());

然后
this.delegate(something, ‘click’, function(){
this.sprite.play(movemovemove).then(function() {}).act();
});

点击后,动画没有播放,是怎么回事呢,
单独把
this.sprite.moveBy(0.1 , cc.p(0, 15)).act();
写出来是可以动的,哪里出错了吗?

SmartTestCase里面,
那个Animation & Actions,一进去屏幕是全红的,呃!

浏览器是Chrome Dev 37:10:


this._super();

var a1 = cc.MoveBy.create(1, cc.p(150, 0));

var action1 = cc.Sequence.create(cc.Place.create(cc.p(60, 60)), a1).repeat(3);
var action2 = cc.Sequence.create( a1.clone(), a1.reverse(), cc.DelayTime.create(0.25)).repeatForever();

this._kathia.runAction(action1);
this._tamara.runAction(action2);

这种在增强库的API下该怎么写?百思不得其解啊:6::6:

写成
cc.AnimationFragement.create().moveBy(4, cc.p(0, 50));
然后act,执行了,
如果写成
cc.AnimationFragement.create().moveBy(4, cc.p(0, 50)).Place(cc.p(50,50));
就黑屏了

10楼 不明白什么问题?

11楼 sprite.moveBy(1, cc.p(0, 20)).repeat().act();
没有repeatForever了,只有repeat,不传参数的话默认是 forever

12楼 不能用this.sprite,因为delegate的handler的“this”不是layer,用闭包特性

var self = this;
this.delegate(something, ‘click’, function(){
self.sprite.play(movemovemove).then(function() {}).act();
});

我考虑下是否把delegate的handler的this给bind成当前layer…

13楼 例子里面设置了background
this.attr(‘background’, ‘#f00’);
去掉这个红色背景就消失

14楼
可以用 AnimationFragement,不过这种复杂的,用原生api吧

另外,Place、Hide、Show、FlipX、FlipY 等瞬时动作在 animate 增强里面没有
可以用 then + sprite.attr 来写

:14: 谢谢!

then + sprite.attr
能不能举个小小的例子呢:904:

另外,似乎this.delegate(something, ‘click’, function());
里的eventType好像只支持了click?

这个库或者原生方法里,持续的按住或持续的触摸应该是什么方法?:9::9:

sprite.fadeOut(0.5).then(function(){sprite.attr(‘xy’, )}).fadeIn(0.5).act();

比如这样

在动画过程中需要实时改变元素的某个属性,直接在then方法里用.attr设置属性就行了

大神能留个Q吗,论坛交流好麻烦。

现在
this.delegate(this.touchbar, ‘mousedown’, function() {
self.backClicked();
});

好像mousedown没有被捕抓到,是什么原因呢

没有mousedown,直接用touchstart吧
mouse事件我只提供了 mouseenter、mouseleave和mousemove
mousedown和mouseup没有,直接对应的touchstart、touchend就可以了

touchstart也没法捕捉,我直接复制
http://smart-x.akira-cn.gitpress.org/~docs/07-improved%20event%20model.md
上的代码,发现无法执行……:12:

你把完整的代码发出来看下
应该不会执行不了。。。

感谢大神分享

支持2.2.5么

非常感谢。请教一下。我用的是webStorm。添加到外部库了,接着怎么链接到项目里呀?现在是有代码提示但是运行是找不到的。