【cocoscreator】列表UI显示特效

// Learn cc.Class:
//  - https://docs.cocos.com/creator/manual/en/scripting/class.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

cc.Class({
    extends: cc.Component,

    properties: {
        // foo: {
        //     // ATTRIBUTES:
        //     default: null,        // The default value will be used only when the component attaching
        //                           // to a node for the first time
        //     type: cc.SpriteFrame, // optional, default is typeof default
        //     serializable: true,   // optional, default is true
        // },
        // bar: {
        //     get () {
        //         return this._bar;
        //     },
        //     set (value) {
        //         this._bar = value;
        //     }
        // },
        showType: 1,
        MaxShowType: 1,
        Label: cc.Label,
        ScrollView: cc.ScrollView,
        content: cc.Node,
        item: cc.Node,
    },

    // LIFE-CYCLE CALLBACKS:

    onLoad() {
    },
    start() {
        this.show();
    },

    show() {
        var str = "show" + this.showType;
        this[str]();
    },

    last() {
        this.showType--;
        if (this.showType <= 0) {
            this.showType = this.MaxShowType;
        }
        this.show();
    },

    next() {
        this.showType++;
        if (this.showType > this.MaxShowType) {
            this.showType = 1;
        }
        this.show();
    },


    Test() {
        cc.tween(this.ScrollView.node)
            .to(1, { scale: 2, position: cc.v3(100, 100, 100) })
            .call(() => { console.log('This is a callback'); })
            .by(1, { scale: 3, position: cc.v3(200, 200, 200) }, { easing: 'sineOutIn' })
            .start();
    },

    show1() {
        this.ScrollView.node.scaleX = 0;
        this.ScrollView.node.anchorX = 0;
        this.content.anchorX = 0;
        this.content.parent.anchorX = 0;
        this.content.parent.x = 0;
        this.content.x = 0;
        this.content.removeAllChildren();
        var index = 0;
        this.scheduleOnce(() => {
            this.schedule(() => {
                var node = cc.instantiate(this.item);
                node.anchorX = 0;
                node.anchorY = 1;
                node.scaleY = 0;
                node.parent = this.content;
                node.x = 20;
                cc.tween(node)
                    .to(0.3, { scaleY: 1 })
                    .start();
                index++;
            }, 0.3, 5);
        }, 0.7);
        cc.tween(this.ScrollView.node)
            .to(1, { scaleX: 1 })
            .start();
    },

    show2() {
        this.ScrollView.node.scaleX = 0;
        this.ScrollView.node.anchorX = 0;
        this.content.anchorX = 0;
        this.content.parent.anchorX = 0;
        this.content.parent.x = 0;
        this.content.x = 0;
        this.content.removeAllChildren();
        this.scheduleOnce(() => {
            for (var i = 0; i < 5; i++) {
                var node = cc.instantiate(this.item);
                node.anchorX = 0;
                node.anchorY = 1;
                node.scaleY = 0;
                node.parent = this.content;
                node.x = 20;
                cc.tween(node)
                    .to(0.5, { scaleY: 1 })
                    .start();
            }
        }, 1);
        cc.tween(this.ScrollView.node)
            .to(1, { scaleX: 1 })
            .start();
    },

    show3() {
        this.ScrollView.node.anchorX = 0;
        this.content.anchorX = 0;
        this.content.parent.anchorX = 0;
        this.content.parent.x = 0;
        this.content.x = 0;
        this.content.removeAllChildren();
        for (var i = 0; i < 5; i++) {
            var node = cc.instantiate(this.item);
            node.anchorX = 0;
            node.anchorY = 1;
            node.scaleY = 0;
            node.parent = this.content;
            node.x = 20;
            cc.tween(node)
                .to(0.5, { scaleY: 1 })
                .start();
        }
        this.scheduleOnce(() => {
            var children = this.content.children;
            for (var i = 0; i < children.length; i++) {
                var node = cc.instantiate(this.item);
                node.anchorX = 0;
                node.anchorY = 1;
                node.scaleY = 0;
                node.parent = this.content;
                node.x = 20;
                cc.tween(node)
                    .to(0.5, { blink: 1 })
                    .start();
            }
        }, 0.2);
    },
    // update (dt) {},
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧仙草奶茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值