红包满屏随意飘动效果

版权声明:文章均是博主原创,如需转载,请在文章开头注明出处和署名! https://blog.csdn.net/shirln/article/details/84338043

推荐阅读:

在做这个需求之前,我们假设屏幕上同时飘动的红包数最大为10

/**红包生成 */
if (this.redBagNum < 9)
 {
   let redBag = GameUtil.createBitmapByName("Red_bag_png");
   redBag.x = this.gameScene.gamePanel.redBag.x;
   redBag.y = this.gameScene.gamePanel.redBag.y;
   redBag.width = 80;
   redBag.height = 150;
   redBag.touchEnabled = true;
   this.redBagNum++;
   redBag.addEventListener(egret.TouchEvent.TOUCH_TAP, this.clickRedBag, this);
   this.gameScene.gamePanel.redBagGroup.addChild(redBag);
   this.redBagAnim(redBag, redBag.x, 1500);
 }
 else
 {
   //红包数达到上限
 }
 /**红包飘动动画 */
private redBagAnim(obj: egret.Bitmap, x: number, y: number) 
{
   egret.Tween.get(obj).to({ x: x, y: y }, 3000).call(() => {
   egret.Tween.removeTweens(obj);
   let randomX = Math.floor(Math.random() * 1000) - 450;
   let randomY = Math.floor(Math.random() * 1600);
   this.redBagAnim(obj, randomX, randomY);
   });
}
 /**点击红包事件 */
private clickRedBag(evt: egret.TouchEvent)
 {
   // evt.currentTarget.visible=false;
   this.gameScene.gamePanel.redBagGroup.removeChild(evt.currentTarget);
   this.redBagNum--;
}

猜你喜欢

转载自blog.csdn.net/shirln/article/details/84338043
今日推荐