【Cocos2dx js系列】創建一個內容滑動框


var ScrollViewTestingLayer=cc.Layer.extend({
    ctor:function () {
        this._super();
        // Create the list view
        var listView = new ccui.ListView();
        // set list view ex direction
        listView.setDirection(ccui.ScrollView.DIR_VERTICAL);
        listView.setTouchEnabled(true);
        listView.setBounceEnabled(true);
        listView.setBackGroundImage(resStartGame.background);
        listView.setBackGroundImageScale9Enabled(true);
        listView.setContentSize(cc.size(240, 130));
        listView.x = gameConfig.CenterPoint.x;
        listView.y = gameConfig.CenterPoint.y;
        listView.addEventListener(this.selectedItemEvent, this);
        this.addChild(listView);

        var default_item = new ccui.Layout();
        default_item.setTouchEnabled(true);
        default_item.setContentSize(cc.size(300,20));
        default_item.width = listView.width;
        //default_item.addChild(default_button);
        // set model
        listView.setItemModel(default_item);

        for (var i = 0; i < 20; ++i) {
            listView.pushBackDefaultItem();//注意這一行,相當重要!!!內部占坑用的,我就奇怪設計api的時候直接讓傳個參數進去內部調用不也行么?官方二不兮兮的這么封裝我也是醉了
        }

        for(var i=0;i<20;i++){
            var lblMenu=new cc.LabelBMFont(i.toString(),resFont.font1);
            var lblLayer=new ccui.Layout();
            lblMenu.setContentSize(cc.size(100,20));
            lblMenu.width=80;
            lblMenu.x=50;
            lblMenu.y=20*-1*i;
            lblLayer.addChild(lblMenu);
            listView.insertCustomItem(lblLayer);
        }
        // set all items layout gravity
        listView.setGravity(ccui.ListView.GRAVITY_CENTER_VERTICAL);
    },
    selectedItemEvent: function (sender, type) {
        cc.log("selectedItemEvent");
        switch (type) {
            case ccui.ListView.EVENT_SELECTED_ITEM:
                var listViewEx = sender;
                cc.log("select child index = " + listViewEx.getCurSelectedIndex());
                break;

            default:
                break;
        }
    }
});

官方的例子太TMD復雜了,這是個簡版的。

尤其注意注釋中的那句話。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM