smallnewer / bugs

18 stars 4 forks source link

利用数据结构思维解决问题 #68

Open 499689317 opened 9 years ago

499689317 commented 9 years ago

关于UI页面内的按钮

    system.right.singleitem = function(index,btn_pic,icon_pic,title_str,date_str,con_view){

        var itembg = kk.sprite(btn_pic);
        itembg.$anchor(0,0);

        var icon = kk.sprite(icon_pic);
        icon.$anchor(0,0);
        icon.x = 10;
        icon.y = 8;
        console.log(icon_pic);
        itembg.addChild(icon);

        var titlebg = kk.sprite(hl.res.public.ui.textbg1);
        titlebg.$anchor(0,0);
        titlebg.x = 90;
        titlebg.y = 16;
        itembg.addChild(titlebg);

        var title_text = kk.text(title_str,{
            font : "20px 黑体",
            fill : "#ffffff"
        });
        title_text.$anchor(0,0);
        title_text.x = 102;
        title_text.y = 18;
        itembg.addChild(title_text);

        var date_text = kk.text(date_str,{
            font : "18px 黑体",
            fill : "#994900"
        });
        date_text.$anchor(0,0);
        date_text.x = 102;
        date_text.y = 70;
        itembg.addChild(date_text);

        // var itemarr = [];
        itembg.interactive = true;
        itembg.on(PIXI.$EV_END,function(){

            system.left.scrolllayer(hdcontent,con_view);

            switch(itembg.tag){
                case 0:
                {
                    for (var i = 0; i < itemarr.length; i++) {
                        if (itemarr[i].tag == 0) {
                            itemarr[i].$setTexture(hl.res.public.ui.selecte);
                        } else{
                            itemarr[i].$setTexture(hl.res.public.ui.normal);
                        }
                    }
                }
                break;
                case 1:
                {
                    for (var i = 0; i < itemarr.length; i++) {
                        if (itemarr[i].tag == 1) {
                            itemarr[i].$setTexture(hl.res.public.ui.selecte);
                        } else{
                            itemarr[i].$setTexture(hl.res.public.ui.normal);
                        }
                    }
                }
                break;
                case 2:
                {
                    for (var i = 0; i < itemarr.length; i++) {
                        if (itemarr[i].tag == 2) {
                            itemarr[i].$setTexture(hl.res.public.ui.selecte);
                        } else{
                            itemarr[i].$setTexture(hl.res.public.ui.normal);
                        }
                    }
                }
                break;
                default:
                break;
            }

        });

        return itembg;
    };
    system.right.singleitem = function(index,btn_pic,icon_pic,title_str,date_str,con_view){

        var itembg = kk.sprite(btn_pic);
        itembg.$anchor(0,0);

        var icon = kk.sprite(icon_pic);
        icon.$anchor(0,0);
        icon.x = 10;
        icon.y = 8;
        console.log(icon_pic);
        itembg.addChild(icon);

        var titlebg = kk.sprite(hl.res.public.ui.textbg1);
        titlebg.$anchor(0,0);
        titlebg.x = 90;
        titlebg.y = 16;
        itembg.addChild(titlebg);

        var title_text = kk.text(title_str,{
            font : "20px 黑体",
            fill : "#ffffff"
        });
        title_text.$anchor(0,0);
        title_text.x = 102;
        title_text.y = 18;
        itembg.addChild(title_text);

        var date_text = kk.text(date_str,{
            font : "18px 黑体",
            fill : "#994900"
        });
        date_text.$anchor(0,0);
        date_text.x = 102;
        date_text.y = 70;
        itembg.addChild(date_text);

        // var itemarr = [];
        itembg.interactive = true;
        itembg.on(PIXI.$EV_END,function(){
            console.log(itembg.tag);
            /*俩个按钮间的切换,用一个数组过虑保证不会影响性能*/
            itemarr.push(itembg);

            system.left.scrolllayer(hdcontent,con_view);

            if (itemarr.length > 1) {

                itemarr[0].$setTexture(hl.res.public.ui.normal);
                itemarr.splice(0,1);
            }

            itembg.$setTexture(hl.res.public.ui.selecte);

        });

        return itembg;
    };

此时不管我们在这个UI界面不管加入了多少按钮,但是我们要处理的只有数组中的俩个,其它的不用管,在大量按钮的界面下也算是优化了一部份性能。