phaser 小游戏制作

为group成员添加动画

1.给group组成员添加animation并发出回调可以像如下这么,但是这样做导致回调函数里,this指向了window而不是这个game

this.targets=this.game.add.group();

this.targets.forEach(function (t) {
    var playDown=t.animations.play('down');
    playDown.onComplete.add(function () {

})


2.同时为组成员添加动画可以用callAll

this.targets.callAll('animations.add', 'animations', 'up', [16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0], 17, false);
this.targets.callAll('animations.play', 'animations', 'up');
3.回调函数传值

经测验,在onComplete里的第三个参数为传值的对象,所以采用本办法用arguments【2】来取传参

var moveGun=this.game.add.tween( this.gun).to( { x: item.x+50}, 2000, Phaser.Easing.Sinusoidal.InOut, true);
moveGun.onComplete.add(this.impact,this,1,item);

ShootPlay.prototype.impact=function (item) {
    var mark=arguments[2];
    var myBullet=game.add.image(item.x+50,390,'bullet');
    var shooting=this.game.add.tween(myBullet).to( { x:mark.x+70,y:mark.y+50}, 100, Phaser.Easing.Sinusoidal.InOut, true);
    shooting.onComplete.addOnce(this.playAnimation,this,1,mark)
};
注意item为当前执行动画的那个精灵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值