在游戏中,有时候为了通过一种有意思的途径,让用户在一些物品中随机获取某种物品,除了前面我们提到的使用大转盘抽奖获得,还有一种可以实现类似功能的是抽取卡片。

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之翻牌动画

作者:shirln

地址:https://www.mmzsblog.cn/articles/2019/08/09/1565360665278.html

-----------------------------

如未加特殊说明,此网站文章均为原创。

网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。

公众号转载请联系网站首页的微信号申请白名单!

个人微信公众号 ↓↓↓

java 翻牌_CocosCreator之翻牌动画相关推荐

  1. Android-通过Java代码来实现属性动画

    Android-通过Java代码来实现属性动画 除了能够使用定义xml文件来设置动画之外.还能够使用java代码来进行控制动画. 示比例如以下: 布局文件: <RelativeLayout xm ...

  2. html文字翻牌效果,css3翻牌效果

    原理:通过css3属性-webkit-transform: rotate(0deg)与-webkit-transform: rotate(180deg)对2个元素设置正反面 然后通过有过渡(trans ...

  3. Java如何隐藏控制按键动画_Java动画短片当不移动鼠标光标时

    我有一个非常简单的动画,一个大字体的文字不断(逐个像素)移动到左边.首先将文本转换为图像,然后启动定时器任务,重复(每10-20 ms)将图像的x坐标递减1,并进行重绘(). 这个程序在某些系统上显示 ...

  4. 歌词查询java_实验10—— java读取歌词文件内容动画输出

    1.Read.java packagecn.tedu.demo;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileRe ...

  5. java基础05 GUI简单动画

    制作简单的动画,就是在绘图的基础上用上循环,实现图片的不断重绘,同时用白色消除上一次遍历绘画出来的痕迹 代码实现如下: package GuiTest;import javax.swing.*; im ...

  6. 点画法和像素处理,使用 Java 2D API 制作艺术动画

    本文说明如何通过实现 BufferedImageOp 接口来编写自定义 Java 2D 图像处理类.它使用一个 2D 细胞自动机(CA),即循环空间,来构造图像处理应用程序.CA 会 "操作 ...

  7. php 翻牌,PHP+jQuery翻牌抽奖

    翻板抽奖的实现流程:页面提供6个方块,当抽奖者点击某一块时,方块翻转到背面,显示中奖信息. 下载资源 下载积分: 20 积分 HTML 首先我们在页面上放置6个奖项: 1 2 3 4 5 6 jQue ...

  8. constrain用法java_Android动画五:ConstraintLayout 通过XML和Java两种方式实现动画

    ConstraintLayout 动画的实现有两种方式实现,一种是 XML 方式实现,另外一种是Java,两者各有优点,下面就分别介绍两种实现方式,只要会 ConstraintLayout ,实现都非 ...

  9. java 绘制动态小球_JavaScript动画实例:动感小球

    已知圆的坐标方程为: X=R*SIN(θ) Y=R*COS(θ)     (0≤θ≤2π) 将0~2π区间等分48段,即设定间隔dig的值为π/24.θ初始值从0开始,按曲线方程求得坐标值(x,y), ...

最新文章

  1. 正定小主人机器人_石家庄正定县2015中小学生机器人运动大赛隆重开幕
  2. Spring 4 使用Freemarker模板发送邮件添加附件
  3. 用Java创建JMeter变量 - 终极指南
  4. 双任务延时原理与空闲任务
  5. 【Python】电商用户复购数据实战:图解Pandas的移动函数shift
  6. Python面向对象编程基础
  7. rr计算机专业英语,《计算机专业英语》电子教本8.pdf
  8. Win7电脑设置定时关机的操作方法
  9. 在线考试 ajax,关于在线考试使用ajax一问?
  10. 张大奕网店关联公司被行政处罚:因以不合格产品冒充合格产品
  11. MongoDB数据库(二):增删查改
  12. mysql 中文脱敏_怎样选择数据库脱敏系统?
  13. 主分区、扩展分区、逻辑分区、活动分区
  14. android触摸 apk,超级触控(流畅触屏)apk
  15. 支付宝小程序设置服务器维护,支付宝小程序配置
  16. Unity - Timeline 之 Timeline Playback Controls(Timeline播放控制栏)
  17. 别让职场形象毁了你的职场前程
  18. 如何禁用笔记本触摸板
  19. win10系统重装之u盘装系统,u盘安装win10系统
  20. Qt实现mqtt客户端和mqtt服务器搭建

热门文章

  1. plot函数matlab360百科,matlab plot函数用法
  2. fastjson依赖
  3. 关于H.264 x264 h264 AVC1之间的那些事
  4. Windows11初体验——感觉图标变圆润、界面更清爽了
  5. 51单片机(STC89C52RC) lcd1602 4线接法+经典IO扩展综合实验
  6. 河南省对口升学计算机专业试卷,河南省2017年普通高等学校对口升学计算机类专业课试题卷...
  7. JAVA开发面试题_网络_操作系统_JAVA基础_JVM虚拟机
  8. 提高模型的训练性能(一)
  9. Flash被全世界抛弃,到底经历了什么
  10. leetcode每日一题(11.12)----多米诺和托米诺平铺