礼盒抖动动画(CocosCreator)
推荐阅读:
这个月还有一天了,别问我为什么是一天,996,懂吗?项目是做不完了,策划又加新功能,又不能安静的改bug了。又是动画,动画,我大概是和动画杠上了,最近做了好多动画,也写了好多关于动画的文章了。那么,就来说说新需求吧,达到累计签到指定天数时,对应的礼盒需要播放一个抖动的动画,领取奖励后,动画停止,礼盒回到初始状态。
ui界面就不说了,主要说说逻辑,动画的实现等。首先,需要实现的时礼盒抖动的动画,抖动,其实就是在起始位置上下左右循环移动,主要用到的方法是CocosCreator中封装好的方法。
移动方法:
cc.moveTo(duration: number, position: number | cc.Vec2, y?: number)
顺序执行某些动作
cc.sequence(actionOrActionArray: cc.FiniteTimeAction | cc.FiniteTimeAction[], ...tempArray: cc.FiniteTimeAction[])
重复某动作
cc.sequence(actionOrActionArray: cc.FiniteTimeAction | cc.FiniteTimeAction[], ...tempArray: cc.FiniteTimeAction[])
实现过程
首先我们需要将节点的起始位置保存,以便动画停止后回到初始位置
this.x[idx]= this.gift[idx].x;
this.x[i]dx= this.gift[idx].y;
然后声明一个变量,用于全局控制偏移量
let offset = 5;
接下来便是动画的实现
let offset = 5;
self.giftAnim[idx] = cc.repeatForever(
cc.sequence(
cc.moveTo(0.18, cc.v2(x + (1 + offset), y + (offset + 1))),
cc.moveTo(0.18, cc.v2(x + (1 + offset), y - (1 + offset))),
cc.moveTo(0.18, cc.v2(x - (1 + offset), y + (offset + 1))),
cc.moveTo(0.18, cc.v2(x - (1 + offset), y - (1 + offset))),
cc.moveTo(0.18, cc.v2(x + (0 + offset), y + (offset + 0)))
)
)
this.gift[idx].runAction(self.giftAnim[idx]);
综上所述,我们可以将动画的播放封装成一个方法:
//累计签到礼盒上下动画
giftAnim(idx) {
var self = this;
this.x[idx] = this.gift[idx].x;
this.y[idx] = this.gift[idx].y;
let offset = 5;
self.giftAnim[idx] = cc.repeatForever(
cc.sequence(
cc.moveTo(0.18, cc.v2(x + (1 + offset), y + (offset + 1))),
cc.moveTo(0.18, cc.v2(x + (1 + offset), y - (1 + offset))),
cc.moveTo(0.18, cc.v2(x - (1 + offset), y + (offset + 1))),
cc.moveTo(0.18, cc.v2(x - (1 + offset), y - (1 + offset))),
cc.moveTo(0.18, cc.v2(x + (0 + offset), y + (offset + 0)))
)
)
this.gift[idx].runAction(self.giftAnim[idx]);
},
最后,我们还需要封装一个停止动画播放以及动画停止后初始化礼盒位置的方法
stopGiftAnim(idx) {
this.gift[idx].stopAction(self.giftAnim[idx]);
this.gift[idx].x = this.x[idx];
this.gift[idx].y = this.x[idx];
},
上面,我们将动画的播放,动画停止都封装成了方法,只需要在需要的地方调用即可,是不是很方便呢~
礼盒抖动动画(CocosCreator)的更多相关文章
- Android中使用抖动动画吸引来用户注意
原文:http://www.androidcn.org/topic/552e65bc61d460226ab27a5c 在应用中,有时候我们要吸引用户去点击某些按钮,比如应用市场的推荐按钮,为了能够吸引 ...
- Android设置View抖动动画
在应用中,有时候我们要吸引用户去点击某些按钮,比如应用市场的推荐按钮,为了能够吸引用户主动点击而且不过分的打扰用户,最好的方法就是给我们想吸引用户注意的view添加一些抖动动画,比如这张图 这里我主要 ...
- Android抖动动画
//CycleTimes动画重复的次数 public Animation shakeAnimation(int CycleTimes) { Animation translateAnimation = ...
- 【代码笔记】iOS-字体抖动动画
一,效果图. 二,代码. ViewController.m #import "ViewController.h" @interface ViewController () @end ...
- iOS 抖动动画
-(void)animationWithCell:(WaterLevelCollectionCell *)cell{ // 添加摇晃动画 { CAKeyframeAnimation *frame=[C ...
- Android为TV端助力 电影栏目移动到底部或者顶部时抖动动画
1 移动到底部上下抖动ObjectAnimator animatorX = ObjectAnimator.ofFloat(holder.itemView,"translationX" ...
- css抖动动画
button{ animation: beat 6s ease 0s infinite normal; } @keyframes beat { 0% { transform: translateY(0 ...
- 分享一个android仿ios桌面卸载的图标抖动动画
直接上代码,如有更好的,还请不吝赐教 <span style="font-size:18px;"><?xml version="1.0" en ...
- jquery-抖动图组轮播动画
JQ匀速抖动图组轮播动画 一.HTML+CSS <!DOCTYPE html> <html lang="en" xmlns="http://www.w3 ...
随机推荐
- 设计模式:策略模式,Java集合定制排序的核心思想
前言 前阵子面试的时候,有个面试官问我了解哪些设计模式吗?我说了策略模式.接着他问有哪些场景应用,我又回答他jdk的集合工具类有个排序方法就用到了策略模式,也就是java.util包下的Collect ...
- CF175C Geometry Horse(贪心)
CF175C 贪心,注意有不少细节,很容易死循环TLE 贪心是显而易见的,每次枚举价值最小的物品,进行销毁操作 朴素的枚举每一件物品复杂度为\(O(\sum k_i)\),明显超时 我们注意到朴素的+ ...
- java用最少循环求两个数组的交集、差集、并集
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...
- spark 源码分析之八--Spark RPC剖析之TransportContext和TransportClientFactory剖析
spark 源码分析之八--Spark RPC剖析之TransportContext和TransportClientFactory剖析 TransportContext 首先官方文档对Transpor ...
- bean的创建(五)第五部分 属性填充
AbstractAutowireCapableBeanFactory.populateBean protected void populateBean(String beanName, RootBea ...
- PLSQL连接数据库报监听程序找不到符合协议堆
服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小 根 ...
- UIRefreshControl 问题
这两天在学UIRefreshControl,主要参照的是github上的一个Demo(网址 https://github.com/evgeniymikholap/UIRefreshControlExa ...
- vue动态表单
项目需求,需要根据后台接口返回数据,动态添加表单内容 说明:此组件基于Ant Design of Vue 目前支持六种表单控件:文本输入框(TextInput).文本域输入框(TextArea).下拉 ...
- GitHub 用户排行榜
排行榜预览网址:Github | Githack | UNPKG | Gitee Github 中国用户排名,全球仓库 Star 最多排名,通过 Github API v3 来生成页面数据,排行榜预览 ...
- Java代码计算运行时间
突然想准确的测试一下Java代码的执行时间,在网上找了一会.发现基本有以下两种方法:第一种是以毫秒为单位计算的. Java代码 //伪代码 long startTime=System.currentT ...