翻牌动画(CocosCreator)
推荐阅读:
在游戏中,有时候为了通过一种有意思的途径,让用户在一些物品中随机获取某种物品,除了前面我们提到的使用大转盘抽奖获得,还有一种可以实现类似功能的是抽取卡片。
1.描述
抽卡界面打开时,向用户展示所有卡片的背面,待用户随机点一张卡片后,该卡片会播放一个翻开的动画,然后显示卡片的相关描述等信息。
2.UI搭建
(1)新建一个Button组件,图片设置为牌的背面图
(2)复制5份,排列好,并依次名命如下;

效果图如下:

3.代码
(1)声明一个存放卡片的数组
this.cards = [];//卡片数组
(2)存储卡片置数组中
for (let i = 0; i < 6; i++)
{
self.cards[i] = cc.find("card" + i, obj4);
}
(3)为卡片添加监听事件
findBtn("card" + i, obj4, function ()
{
self.turnCard(i);
})
(4)翻牌操作(翻牌动画)
///翻牌操作
turnCard(idx) {
var self = this;
var scale1 = cc.scaleTo(0.1, 0, 1);
var call1 = app.callFunc(function (adt) {
self.flipCard(idx);
}, [self.cards[idx]]);
var scale2 = cc.scaleTo(0.1, 1, 1)
self.cards[idx].stopAllActions();
self.cards[idx].runAction(cc.sequence(scale1, call1, scale2));
},
5翻牌后显示牌正面:这里为了替换牌正面纹理的方便,我们将它保存在Resources/image/card/目录下,并依次命名为1,2,3,4,5,将背面纹理图片命名为0.
//翻开某一张牌后显示牌正面相关信息
flipCardShow(idx) {
//--测试,根据需要赋值
let cardIdx=3;
self.updateCardTexture(this.cards[idx], cardIdx);//更换牌的纹理
//显示牌正面的其他信息
//TODO
},
修改纹理图片方法:
updateCardTexture(img, textureName) {
cc.loader.loadRes("image/card/" + textureName, cc.SpriteFrame, function (err, spriteFrame) {
if (!err) { img.getComponent(cc.Sprite).spriteFrame = spriteFrame; }
});
},
6.当关闭该翻牌面板时,需要将翻牌结果重置未未翻牌状态
//初始化牌
initCard() {
for (let i = 0; i < 6; i++) {
gm.GameData.updateCardTexture(this.cards[i], "0");
}
},
至此,翻牌功能就实现了,写这篇文章的主要目的是分享一个翻牌的动画,即步骤(4)。
翻牌动画(CocosCreator)的更多相关文章
- 【Android Developers Training】 71. 显示翻牌动画
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Android 实现卡片翻转的动画(翻牌动画)
Android 实现卡片翻转的动画(翻牌动画) 需求描述 点击卡片,卡片翻转过来显示内容. 点击左边的卡片,将卡片翻转显示右边的图片结果. 功能实现 因为要翻转所以使用动画来完成翻转的动画.动画分为两 ...
- css3 翻牌动画
最近做了一个特效,css是从网上找的,地址是这个: CSS3 animate flip下的纸牌翻转效果实例页面 把其中核心的css代码扒出来如下: /* The properties in this ...
- PPT2010制作翻牌动画
原文: https://www.toutiao.com/i6492653280676545037/ 新建一张空白幻灯片 选择"插入"选项卡,"插入"功能组,&q ...
- cocos2dx for lua 简单的翻牌动画
local x = 20 local y = display.height/2 for i = 1,16 do--创建16张 local cardFg = display.newSprite(&quo ...
- Android基于GridView实现的翻牌游戏效果
好久没有写博客了,上一篇博文距现在都有三个多月了,实在是惭愧.但是这段时间仍然是在忙于项目或是自我充电.这几天实现了一个基于GridView的翻牌动画效果,这里就将其整理出来同各位分享. 一.整体介绍 ...
- 【Android Developers Training】 68. 序言:添加动画
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React)
双十一剁手节过去了,大家应该在很多网页中看到了数字翻牌的效果吧,比如倒计时. 数字增长等.相信很多人都已经自己独立实现过了,我也在网上看了一些demo,发现HTML结构大多比较复杂,用了4个并列的标签 ...
- PPT文档学习小练习链接
1. <初识PPT2010> https://www.toutiao.com/i6486689592241029645/ 2. <PowerPoint2010实现折线图动态展示> ...
随机推荐
- 你真的了解 Cookie 和 Session 吗
我在做面试官的时候,曾经问过很多朋友这个问题: Cookie 和 Session 有什么区别呢?大部分的面试者应该都可以说上一两句,比如:什么是 Cookie?什么是 Session?两者的区别等. ...
- 自动生成Mybatis的Mapper文件
自动生成Mybatis的Mapper文件 工作中使用mybatis时我们需要根据数据表字段创建pojo类.mapper文件以及dao类,并且需要配置它们之间的依赖关系,这样的工作很琐碎和重复,myba ...
- 盘一盘 synchronized (二)—— 偏向锁批量重偏向与批量撤销
在本文讲解之前,先来简单了解一下为什么会有批量重偏向和批量撤销. 批量重偏向:当一个线程创建了大量对象并执行了初始的同步操作,后来另一个线程也来将这些对象作为锁对象进行操作,会导偏向锁重偏向的操作 ...
- Docker volume speed up npm install
上一节决定在Jenkins中采用Docker作为构建环境,于是就可以为所欲为的使用各种node版本编译我们的项目.解决了版本切换问题.然而,Docker设计的目的就是纯净的执行环境,因此每次运行doc ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- 技术派-不用sqrt手工计算平方根
题目:任意长度数串,不使用sqrt函数,手工计算平方根? 要求只准用加/减/乘/除四则运算,不准使用power/sqrt等函数. 算法如下: 1.以小数点为中心往两边每2位分隔为一组: 2.然 ...
- 10个常用的linux的命令
以下就是今天我们要介绍的Linux命令: man touch, cat and less sort and grep cut sed tar find diff uniq chmo ...
- 非UI线程更新界面
package com.caterSys.Thread; import java.text.SimpleDateFormat; import java.util.Date; import org.ec ...
- Vmware Exsi使用简要说明
界面介绍 Exsi的管理工具可以用vSphere Client来管理虚拟机.管理虚拟的网络交换机.管理物理机的内存.物理机的硬盘.物理机的CPU等资源.界面的大致介绍如下图. 资源分配 创建内存.CP ...
- H3C软件开发笔试面试总结
注:我目前是陕西师范大学计算机科学学院本科生,在西安参加笔试以及面试 先是笔试,我选择的是JAVA方向,笔试选择题目主要是一些基础性的题目,然后简答题问了final.finally.finallize ...