| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- // Learn TypeScript:
- // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
- // Learn Attribute:
- // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
- // Learn life-cycle callbacks:
- // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class Marquee extends cc.Component {
- @property([cc.Label])
- public labelArr: cc.Label[] = [];
- public nameArr: string[] = ["惠", "球球", "似水流年", "lalalalalala", "sajk44582", "MjTc626", "Lzg19890603", "WDD200102", "wxsfsdg032",
- "隔壁老王123", "ssa112233", "sb123", "aode19990203",
- "只求一份安定", "无可置疑", "一生承诺", "简单灬爱", "别在我面前犯贱", "没有背景丶只有背影", "丶猫猫er",
- "越疯癫的女人、心越脆弱", "开心的笨小孩", "虚张声势丶", "相见不如怀念", "海阔天空", "焚心劫",
- "迷路的男人", "虚伪了的真心", "回忆未来", "米兰", "野兽之美", "雁過藍天", "泡泡龙",
- "tina", "为爱放弃", "花菲", "可儿", "志平", "非想", "生命一旅程", "杰克", "大朋友",
- "|宝贝雪儿|", "Jessie", "﹎﹎F魚&uot;", "大棒", "灵兰若梦", "锦瑟幽心", "冰城",
- "文远", "阿红", "我是傻A", "蛰伏", "Davidchan", "tomath", "天涯",
- "森舟电商肖森舟", "搁浅", "Honeyヽ", "似曾相识", "可可妈", "莲波仙子", "bibe", "小棉", "金色", "谢震宇", "袭夜风", "海藻",
- "wei", "超越梦想", "曾琦", "眼镜", "kk2288", "strom98", "lin", "平凡", "蔡仁傑", "小宝贝",
- "纯洁的半烟", "千里之外", "峰回路转", "白帆", "唯独钟情于你", "温柔一脚", "要烦", "尘梦如烟", "鱼一直下",
- "summer@", "碧荷叶", "6月", "贱狗", "小小", "思静", "梦朦", "英英", "落叶知秋", "淤淤", "无语", "Mr丶小华",
- "shiyibin", "Liu.J.H", "椰风", "随意", "今生你做伴", "莫名的青春", "日久见人心", "相知相惜",
- "最迷人的危险", "请在乎我1秒", "爱你心口难开", "怀念最初", "命运不堪浮华", "蝶恋花", "漫长的人生", "浮殇年华", "花容月貌",
- "li_19820506", "wahaha0203", "kekekekaka", "diu_mu123", "hkhjkasdajk",];
- /**钱的数目 */
- public moneyNumArr: number[] = [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3,
- 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 100, 100, 100, 100, 100, 100,
- 200, 200, 200, 200,
- 300, 300,
- 500];
- // LIFE-CYCLE CALLBACKS:
- // onLoad () {}
- start() {
- // this.initMarquee();
- }
- onEnable() {
- this.initMarquee();
- }
- onDisable() {
- this.cancelMarquee()
- }
- // update (dt) {}
- /**初始化 */
- initMarquee() {
- this.middleLabelIndex = 1;
- for (var i = 0; i < this.labelArr.length; i++) {
- let label = this.labelArr[i];
- label.string = this.getRewardInfo();
- }
- console.log("this.labelArr ", this.labelArr)
- this.startMarquee();
- }
- /** */
- getRewardInfo(): string {
- let name: string = "";
- let nameIndex = Math.floor(Math.random() * this.nameArr.length);
- name = this.codeName(this.nameArr[nameIndex]);
- let time = 1 + Math.floor(Math.random() * 10);
- let moneyNumIndex = Math.floor(Math.random() * this.moneyNumArr.length);
- let moneyNum: number = this.moneyNumArr[moneyNumIndex];
- let rewardInfo: string = `${name}在${time}分钟前成功提现${moneyNum}元`
- return rewardInfo;
- }
- /**给名字加密 */
- codeName(name: string): string {
- let codeName: string = "";
- let nameLength: number = name.length;
- if (name.length == 2) {
- codeName = name[0] + "*";
- }
- else if (name.length == 3) {
- codeName = name[0] + "*" + name[2];
- }
- else {
- for (var i = 0; i < nameLength; i++) {
- let namaChar = name[i];
- if (i == (name.length - 3) || i == (name.length - 2)) {
- namaChar = "*";
- }
- codeName += namaChar;
- }
- }
- return codeName;
- }
- public middleLabelIndex: number = 0;
- /** */
- interval_marquee: number = null;
- /** */
- startMarquee(time: number = 300, delayTime: number = 600) {
- let opacitySpeed: number = ((255 - 120) / time) * 20;
- let scaleSpeed: number = (0.2 / time) * 20;
- let moveDisSpeed: number = (40 / time) * 20;
- let curTime: number = 0;
- let curDelayTime: number = 0;
- let ifDelay: boolean = false;
- this.interval_marquee = setInterval(() => {
- if (!ifDelay) {
- let perIndex = this.middleLabelIndex - 1;
- if (perIndex < 0) {
- perIndex += 4;
- }
- let perLabel: cc.Label = this.labelArr[perIndex];
- let curLabel = this.labelArr[this.middleLabelIndex];
- let nextIndex = this.middleLabelIndex + 1;
- if (nextIndex > 3) {
- nextIndex -= 4;
- }
- let nextLabel: cc.Label = this.labelArr[nextIndex];
- let lastIndex = this.middleLabelIndex + 2;
- if (lastIndex > 3) {
- lastIndex -= 4;
- }
- let lastLabel: cc.Label = this.labelArr[lastIndex];
- if (this.middleLabelIndex == 3) {
- // this.cancelMarquee();
- // console.log("perLabel.node", perLabel.node);
- // console.log("curLabel.node", curLabel.node);
- // console.log("nextLabel.node", nextLabel.node);
- // console.log("lastNode.node", lastLabel.node);
- // console.log("lastNode.node", lastIndex);
- }
- curTime += 20;
- perLabel.node.y += moveDisSpeed;
- curLabel.node.y += moveDisSpeed;
- curLabel.node.scale -= scaleSpeed;
- curLabel.node.opacity -= opacitySpeed;
- nextLabel.node.y += moveDisSpeed;
- nextLabel.node.scale += scaleSpeed;
- nextLabel.node.opacity += opacitySpeed;
- lastLabel.node.y += moveDisSpeed;
- if (curTime >= time) {
- perLabel.node.y = -80;
- perLabel.string = this.getRewardInfo()
- ifDelay = true;
- }
- }
- else {
- curDelayTime += 20;
- if (curDelayTime >= delayTime) {
- ifDelay = false;
- curDelayTime = 0;
- curTime = 0;
- this.middleLabelIndex++;
- if (this.middleLabelIndex > 3) {
- this.middleLabelIndex = 0;
- }
- }
- }
- }, 20)
- }
- cancelMarquee() {
- if (this.interval_marquee) {
- clearInterval(this.interval_marquee);
- this.interval_marquee = null;
- }
- }
- }
|