(function () {
var layaGameInit = window.layaGameInit || {};
var WebGL = Laya.WebGL;
var Browser = Laya.Browser;
Config.isAlpha = true;
Laya.init(750, 1100, WebGL);
Laya.stage.scaleMode = "showall";
Laya.stage.alignV = "middle";
Laya.stage.alignH = "center"; //设置背景颜色为none
Laya.stage.bgColor = "none"; //动画执行
layaGameInit.init = function (starMoney, endMoney, multiple, callback) {
Laya.stage.destroyChildren();//销毁
$('#layaContainer').show();
var Sprite = Laya.Sprite;
var Templet = Laya.Templet;
var Event = Laya.Event;
var Browser = Laya.Browser;
var Stage = Laya.Stage;
//文本库
var Text = Laya.Text;
//判断有没有主动删除
var timeoutFun = null; (function () { var fontText = 'PingFangSC-Medium, sans-serif';
var moneyFont = 'Arial,Helvetica,STHeiTi,sans-serif';
// //文本动画的库
var Ease = Laya.Ease;
var Tween = Laya.Tween;
var text = new Text();
var moneyTxt = new Text();
var text1 = new Text();
var text2 = new Text();
var loopFlag = true;
var mAniPath;
var mStartX = Browser.clientWidth;
var mStartY = Browser.clientHeight;
var mFactory;
var mCurrIndex = 0;
var mArmature; var button1;
startFun(); function startFun() { //这是动画
mAniPath = "./assets/game/ss.sk";
mFactory = new Templet();
mFactory.on(Event.COMPLETE, this, parseComplete);
mFactory.on(Event.ERROR, this, onError);
mFactory.loadAni(mAniPath); //这个是添加文本
setTimeout(function () {
var _title = new Text();
_title.overflow = Text.HIDDEN;
_title.color = "#d2363b";
_title.font = fontText;
_title.fontSize = 35;
_title.width = 750;
_title.align = 'center';
_title.y = 450; //这是加的文本
// var text = new Text();
text.overflow = Text.HIDDEN;
// text.color = "#d2363b";
text.color = "#d2363b";
text.font = moneyFont;
text.fontSize = 108;
text.y = 575;
text.text = starMoney + ''; moneyTxt.overflow = Text.HIDDEN;
moneyTxt.color = "#d2363b";
moneyTxt.font = moneyFont;
moneyTxt.fontSize = 36;
moneyTxt.y = 630;
moneyTxt.text = 'ss'; console.log(moneyTxt,text)
Laya.stage.addChild(moneyTxt);
Laya.stage.addChild(text); text.x = (750-text.width)/2;
moneyTxt.x = (750-text.width)/2-30; //定时消除第一次的数字
setTimeout(function () { Laya.stage.removeChild(_title);
Laya.stage.removeChild(sssText);
Laya.stage.removeChild(text);
}, 1400)
}, 1000);
} function onDecreaseAlpha1() {
if(timeoutFun){
clearTimeout(timeoutFun);
}
//关闭
$('#layaContainer').css('display', 'none');
//执行关闭回调
callback();
} function createButton(label) {
var w = 50,
h = 50; var buttonSkin = './assets/openRedPacket/icon-close.png'; var button = new Sprite();
button.loadImage(buttonSkin, 0, 0, w, h);//直接定义roleImg的大小及相对位置
// button.graphics.drawRect(0, 0, w, h, "#FF7F50");
button.size(w, h);
// button.graphics.fillText(label, w / 2, 17, "20px simHei", "#ffffff", "center");
return button;
} function createTween(endMoney) {
var demoString1 = '¥' + endMoney;
let _txtArray = [];
//文字总宽度
let _txtWidth = 0;
for (var i=0 ; i<demoString1.length; i++) {
let _text = createLetter1(demoString1.charAt(i));
//计算文字总宽度
_txtWidth = _txtWidth + _text.width;
_txtArray.push(_text);
} //文本创建时的起始x位置(>>在此使用右移运算符,相当于/2 用>>效率更高)
var offsetX1 = (Laya.stage.width - _txtWidth) / 2;
//显示的字符串 let _posX= offsetX1;
//根据"LayaBox"字符串长度创建单个字符,并对每个单独字符使用缓动动画
for (var i = 0; i < _txtArray.length; i++) {
let letterText1 =_txtArray[i];
if(i===0){
letterText1.x = _posX-15;
}else{
letterText1.x = _posX;
}
letterText1.align = 'center';
/**
//文本的初始y属性
letterText1.y = 100;
/**
* 对象letterText属性y从100缓动到300的位置
* 用1000毫秒完成缓动效果
* 缓动类型采用bounceIn
* 单个字符的缓动效果结束后,使用changeColor回调函数将字符改变为红色
* 延迟间隔i*100毫秒执行
*/
Tween.to(letterText1, {
align: 'center',
y: demoString1.charAt(i)=='¥' ? 375 : 325 //文字高度
}, 700, Ease.bounceIn, Laya.Handler.create(this, changeColor1, [letterText1]), i * 100);
_posX = _posX +letterText1.width;
} boomArgs() } function showGongXi() {
text2.overflow = Text.HIDDEN;
text2.color = "#d2363b";
text2.font = fontText;
text2.fontSize = 35;
text2.width = 750;
text2.align = 'center';
text2.y = 240;
Laya.stage.addChild(text2);
text2.text = 'ssssText';
} function boomArgs() {
text1.overflow = Text.HIDDEN;
text1.color = "#ffffff";
text1.font = fontText;
text1.fontSize = 42;
text1.width = 750;
text1.align = 'center';
text1.text = 'ssssText';
let bgBox = new Laya.Sprite();
bgBox.width = 100;
bgBox.align = 'center';
bgBox.x = 90;
bgBox.y = 880;
bgBox.pivotX = 0;
bgBox.pivotY = 0;
bgBox.rotation = -19;
bgBox.addChild(text1);
Laya.stage.addChild(bgBox);
} //缓动改颜色
function changeColor1(txt) {
//将文本字体改变成红色
txt.color = "#d2363b";
} //文字缓缓动
function createLetter1(char) {
//文字动画
var letter = new Text();
letter.text = char;
letter.color = "transparent";
letter.font = moneyFont;
if('¥'==char){
letter.fontSize = 42;
}else{
letter.fontSize = 108;
}
Laya.stage.addChild(letter);
return letter;
} function onError() {
trace("error");
} function parseComplete() {
//创建模式为1,可以启用换装
mArmature = mFactory.buildArmature(1);
mArmature.x = 375;
mArmature.y = 600;
Laya.stage.addChild(mArmature);
mArmature.on(Event.LABEL, this, onEvent);
mArmature.on(Event.STOPPED, this, completeHandler);
play();
} function onEvent() { } //动画结束后回调
function completeHandler() {
//动画结束
// 字渐渐出现
createTween(endMoney);
//按钮
showButton();
timeoutFun = setTimeout(function(){
onDecreaseAlpha1();
},3000);
} function showButton() {
button1 = createButton("关闭");
button1.x = 550;
button1.y = 150;
Laya.stage.addChild(button1);
button1.on(Event.CLICK, this, onDecreaseAlpha1);
} function play() {
mCurrIndex++;
if (mCurrIndex >= mArmature.getAnimNum()) {
mCurrIndex = 0;
}
mArmature.play(mCurrIndex, false);
} })();
}; window.swellGame = layaGameInit;
})();

用Laya制作简单的动画的更多相关文章

  1. 用CATransform3D实现3D效果和制作简单3D动画

    我们先来看下CATransform3D的头文件 struct CATransform3D { CGFloat m11, m12, m13, m14; CGFloat m21, m22, m23, m2 ...

  2. CSS制作简单loading动画

    曾经以为,loading的制作需要一些比较高深的web动画技术,后来发现大多数loading都可以用“障眼法”做出来.比如一个旋转的圆圈,并不都是将gif图放进去,有些就是画个静止图像,然后让它旋转就 ...

  3. css制作简单loading动画效果【css3 loading加载动画】

    曾经以为,loading的制作需要一些比较高深的web动画技术,后来发现大多数loading都可以用“障眼法”做出来.比如一个旋转的圆圈,并不都是将gif图放进去,有些就是画个静止图像,然后让它旋转就 ...

  4. canvas制作简单动画

    在画布元素<canvas>中,除了绘制图形.图像.文字外,还可以制作一些简单的动画,制作过程十分简单,主要分为两步操作: 1.自定义一个函数,用于图形的移动或其他动作. 2.使用setIn ...

  5. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  6. 推荐几款制作网页滚动动画的 JavaScript 库

    这里集合了几款很棒的制作网页滚动动画的 JavaScript 库和插件.它们中,有的可以帮助你在页面滚动的时候添加动感的元素动画,有的则是实现目前非常流行的全屏页面切换动画.相信借助这些插件,你也可以 ...

  7. Blend制作的下载动画

    最近使用Blend制作了一个下载动画,感觉很有意思,所以这篇给各位介绍下如何使用Blend制作一个简单的下载动画的步骤 首先拖出一个圆,参数如下: 选中椭圆后单击Properties面板,选择“Fil ...

  8. 理论制作 Windows 开机动画

    第一次接触 Windows 开机动画是 2012 年,那时候魔方的版本号还是 3.12,魔方里面有个很酷炫狂霸拽的功能就是替换 Windows 7 的开机动画.一开始我是在IT之家论坛里下载开机动画, ...

  9. Unreal Engine 4 系列教程 Part 5:制作简单游戏

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

随机推荐

  1. JMS 之 Active MQ 的消息传输

    本文使用Active MQ5.6 一.消息协商器(Message Broker) broke:消息的交换器,就是对消息进行管理的容器.ActiveMQ 可以创建多个 Broker,客户端与Active ...

  2. 4.3.3 thread对性能有何帮助

    public class ThreadLocalDemo { public static final int GE_COUNT = 10000000; public static final int ...

  3. 大致(主要hadoop)软件下载地址

    jdk-8u181-linux-x64.tar.gz https://www.oracle.com/technetwork/java/javase/downloads/index.html hadoo ...

  4. 洛谷 P2596 [ZJOI2006]书架 (splay)

    题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些 ...

  5. centos安装mysql,tomcat

    软件下载: jre和jdk下载:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javas ...

  6. java-02 JDK安装与环境变量配置&安装编程IDE

    1.JDK下载安装与环境变量的配置 1.1 官方JDK 下载地址 大家可以到Oracle中国官方网站下载JDK,也可已 通过这个链接下载 (推荐大家下载1.8版本,这个版本是当前比较流行的版本) 也可 ...

  7. [LeetCode 题解]:Gray Code

    题目描述: The gray code is a binary numeral system where two successive values differ in only one bit. G ...

  8. Android ActionBar使用方法

    对于这ActionBar我想很多人都想了解一下到底是怎么一个使用方法,以及它都存在哪些可操作的和使用的地方.如下图所示:<ignore_js_op> 这便是ActionBar的基本内容.获 ...

  9. Ubuntu16.04实用python脚本 - 启动nautilus(Gnome的文件管理器)!

    nautilus是Gnome的图形的文件管理器,可以很方便管理各种文件,但是通常我们不是在root用户下,如果想在root下使用,必须在shell里面输入命令: sudo nautilus 这样做固然 ...

  10. Origin如何使曲面变平滑?

    在“绘图属性” - “绘图细节”窗口中选中 Layer1 下的曲面数据,“Colormap/Contours” 选项下有“Level”标签,选中并设置“Minor Levels”,将其数值调大即可.