(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. 9个使用前必须再三小心的 Linux 命令-乾颐堂

    Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除. 在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息 ...

  2. ThreadLocal深入理解

    作者:知乎用户链接:https://www.zhihu.com/question/23089780/answer/62097840来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  3. 在VS2010中使用Git【图文】(转)

    出处:http://www.cnblogs.com/oec2003/archive/2012/11/13/2768860.html 在之前的一片博客<Windows 下使用Git管理Github ...

  4. thinkphp+memcache缓存例子

    public function dailyRelays() { $history = I('post.history'); $da = new \Home\Model\DailyrelayModel( ...

  5. [可行]setoolkit生成木马软件远程控制实例

    查看原文 选1,social-ensineering attacks 选4,create a payload and listener 选2,Windows Reverse_TCP Meterpret ...

  6. 用word发CSDN blog

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  7. Android-Application来传递数据

    在上一篇博客中介绍到,Android-Intent意图传递数据,能够传递基本数据类型系列,能够传递对象(需要序列化),等操作: 但是如果要传递 List<T>,这种类型的数据,就不能通过I ...

  8. win10与子系统Ubuntu 相关配置

    系统间 文件访问: 1. 在win10环境下访问Ubuntu文件系统的home目录:C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited. ...

  9. 生成文件的MD5、SHA、SHA256

    生成文件的MD5.SHA.SHA256 Linux系统生成MD5.SHA.SHA256md5sum file1.zip  >> MD5.txt sha1sum file1.zip > ...

  10. python语言的jenkinapi

    # coding:utf-8 from jenkinsapi.jenkins import Jenkins # 实例化Jenkins对象,传入地址+账号+密码 j = Jenkins("ht ...