ccui.pageView 기본 적용

6454 단어 cocos2d-jsPageView
var PageView = cc.Layer.extend({
    ctor : function(){
        this._super();

        //  
        this.demoOne();

        return true;
    },

    demoOne : function(){
        var pageView = new ccui.PageView();
        pageView.setTouchEnabled(true);
        pageView.setContentSize(cc.size(500, 400));
        pageView.x = (cc.winSize.width  - 500) / 2;
        pageView.y = (cc.winSize.height - 400) / 2;

        for(var i = 0; i < 3; i++){
     
            var layout = new ccui.Layout(); // layout  type ccui.Layout.ABSOLUTE
            layout.setContentSize(cc.size(500, 400));
            var layoutRect = layout.getContentSize();

            var imgView = new ccui.ImageView();
            imgView.setTouchEnabled(true);
            imgView.setScale9Enabled(true);
            imgView.loadTexture(res.imgBox);
            imgView.setContentSize(cc.size(500, 400));
            imgView.x = layoutRect.width  / 2;
            imgView.y = layoutRect.height / 2;
            layout.addChild(imgView);

            var text    = new ccui.Text();
            text.string = "page" + (i + 1);
            text.font   = "30px'Marker Felt'";
            text.color  = cc.color(192, 192, 192);
            text.x      = layoutRect.width  / 2;
            text.y      = layoutRect.height / 2;
            layout.addChild(text);

            pageView.addWidgetToPage(layout, i, true);
        }

        pageView.scrollToPage(0);  //  , 
        pageView.addEventListenerPageView(this.pageViewEvent, this);
        this.addChild(pageView);
    },

    //  , 
    pageViewEvent : function(sender, type){
        cc.log("type = ", type);
        switch(type){
            case ccui.PageView.EVENT_TURNING   :
                var pageView = sender;
                cc.log("EVENT_TURNING page = " + (pageView.getCurPageIndex().valueOf() - 0 + 1));
                break;
            default : cc.log("none");
        }
    }
});
  • 설명: 재프로그래밍 과정에서 ccui를 발견했다.getView는 getCurPageIndex 함수만 있고 setCurPageIndex는 없습니다. 본인은 cocos2d-js-v3.0 버전을 사용합니다. 그러나 정부에서 준 사례에서 직접적으로 setCurPageIndex를 사용합니다. 공식 demo는cocos2d-x-3 버전입니다. 이 문제에 부딪히면 pageIndex를 설정하지 않거나 scrollToPage를 사용하여 설정하거나 코드로 만든 첫 페이지를 기본적으로 보여 줍니다
  • 좋은 웹페이지 즐겨찾기