91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2d-3x 版本tableview的使用(怎么取消彈簧效果);

發布時間:2020-07-23 23:42:15 來源:網絡 閱讀:1233 作者:luo976370248 欄目:編程語言

1.在VS中設置 C++ 附加包含目錄編輯添加$(EngineRoot)這句話。

2.引入頭文件 cocos2d-3x 版本tableview的使用(怎么取消彈簧效果);,而不這樣 cocos2d-3x 版本tableview的使用(怎么取消彈簧效果);寫的目的是為了解決安卓找不到tableview。在引入 cocos2d-3x 版本tableview的使用(怎么取消彈簧效果);命令空間。

3.實現tableview的功能,首頁要共有繼承TableViewDataSourceTableViewDelegate兩個代理類。

4.實現下面的虛方法

virtual void scrollViewDidScroll(cocos2d::extension::ScrollView*view)override{};

   virtual void scrollViewDidZoom(cocos2d::extension::ScrollView*view)override{}

   virtual void tableCellTouched(cocos2d::extension::TableView*table,cocos2d::extension::TableViewCell*cell)override;

   virtual cocos2d::Size tableCellSizeForIndex(cocos2d::extension::TableView*table,ssize_tidx)override;

   virtual cocos2d::extension::TableViewCelltableCellAtIndex(cocos2d::extension::TableView*table,ssize_tidx)override;

   virtual ssize_t numberOfCellsInTableView(cocos2d::extension::TableView*table)override;

 

5.廢話不多說直接上代碼

#include"MenuColor.h"

#include"VisibleRect.h"

#include"GlobalDefine.h"

#include"GlobalArray.h"

USING_NS_CC;

MenuColorMenuColor::create(floatwidth,floatheight)

{

   automenucolor=new(std::nothrow)MenuColor();

   if(menucolor&&menucolor->init(width,height))

   {

      menucolor->autorelease();

      returnmenucolor;

   }

   else

   {

      CC_SAFE_DELETE(menucolor);

      returnnullptr;

   }

}

bool MenuColor::init(floatwidth,floatheight)

{

   if(!LayerColor::initWithColor(Color4B(0,0,0,0),width,height))

   {

      returnfalse;

   }

 

   this->setAnchorPoint(Vec2::ZERO);

   _color3b=Color3B(255,0,0);

   _cellnum=-100;

 

   //創建tableview

   TableViewtableView=TableView::create(this,Size(120*resourceScale,height));

   tableView->setDirection(ScrollView::Direction::VERTICAL);

   tableView->setPosition(Vec2::ZERO);

   tableView->setDelegate(this);

   tableView->setDataSource(this);

   tableView->setVerticalFillOrder(TableView::VerticalFillOrder::TOP_DOWN);

   this->addChild(tableView);

   tableView->reloadData();

   this->setSwallowsTouches(false);

 

   returntrue;

}

void MenuColor::tableCellTouched(cocos2d::extension::TableView*table,cocos2d::extension::TableViewCell*cell)

{

   if(_cellnum>=1)

   {

      __Stringselect1=StringUtils::format("colorselect_%zd.png",_cellnum+10);

      autocell2=(TableViewCell*)table->cellAtIndex(_cellnum-1);

 

      if(cell2!=nullptr)

      {

        autoframe=getSpriteFrameByName(select1.getCString());

        autosp2=Sprite::createWithSpriteFrame(frame);

        cell2->removeAllChildren();

        cell2->addChild(sp2);

        sp2->setAnchorPoint(Vec2::ZERO);

        sp2->setPosition(Vec2::ZERO);

        sp2->setScale(resourceScale);

       

        frame=getSpriteFrameByName("colorselect.pmg");

        autosp=Sprite::createWithSpriteFrame(frame);

        sp->setAnchorPoint(Vec2::ZERO);

        sp->setPosition(Vec2(0,-4));

        sp->setScale(resourceScale);

        cell->addChild(sp,4,_cellnum);

        _cellnum=(int)cell->getIdx();

      }

      else

      {

        autoframe=getSpriteFrameByName("colorselect.pmg");

        autosp=Sprite::createWithSpriteFrame(frame);

        sp->setAnchorPoint(Vec2::ZERO);

        sp->setPosition(Vec2(0,-4));

        sp->setScale(resourceScale);

        cell->addChild(sp,4,_cellnum);

        _cellnum=(int)cell->getIdx()+1;

      }

   }

   else

   {

      _cellnum=(int)cell->getIdx()+1;

      autoframe=getSpriteFrameByName("colorselect.png");

      autosp=Sprite::createWithSpriteFrame(frame);

      sp->setAnchorPoint(Vec2::ZERO);

      sp->setPosition(Vec2(0,-4));

      sp->setScale(resourceScale);

      cell->addChild(sp,4,_cellnum);

   }

 

   intr=colorMap[cell->getIdx()][0];

   intg=colorMap[cell->getIdx()][1];

   intb=colorMap[cell->getIdx()][2];

 

   _color3b=Color3B(r,g,b);

 

   if(_colorDelegate!=nullptr)

   {

      _colorDelegate->setColor3B(_color3b);

   }

}

Size MenuColor::tableCellSizeForIndex(cocos2d::extension::TableView*table,ssize_tidx)

{

   returnSize(100*resourceScale,110*resourceScale);

}

TableViewCellMenuColor::tableCellAtIndex(cocos2d::extension::TableView*table,ssize_tidx)

{

   autocell=table->cellAtIndex(idx);

   autoselect1=StringUtils::format("colorselect_%zd.png",idx+11);

  

   if(!cell)

   {

      cell=new(std::nothrow)TableViewCell();

      cell->autorelease();

      autoframe=getSpriteFrameByName(select1.c_str());

      autosprite=Sprite::createWithSpriteFrame(frame);

      sprite->setAnchorPoint(Vec2::ZERO);

      sprite->setPosition(Vec2(4*resourceScale,0));

      sprite->setScale(resourceScale);

      cell->addChild(sprite);

      cell->setTag((int)idx+1);

   }

 

   returncell;

}

 

ssize_t MenuColor::numberOfCellsInTableView(cocos2d::extension::TableView*table)

{

   return24;

}

 

void MenuColor::setDrawColorDelegate(ColorDelegate*delegate)

{

   _colorDelegate=delegate;

}

 

Color3B MenuColor::getColor3B()

{

   return_color3b;

}

但是根據某些需求不想要tableview自帶的彈簧效果,可以使用 tableView->setBounceable(false);來關閉彈簧效果。但是沒有了慣性。重寫下面的方法就可以解決這個問題


virtual void scrollViewDidScroll(cocos2d::extension::ScrollView* view)override {

      

        //取消彈性

        auto layout = view->getContainer();

        float currentY = layout->getPositionY();

        if(currentY > 0)

        {

            view->setContentOffset(cocos2d::Vec2(0,0));

        }

        if(-currentY > layout -> getContentSize().height - view -> getViewSize().height)

        {

            view -> setContentOffset(cocos2d::Vec2(0, -layout -> getContentSize().height + view -> getViewSize().height));

        }

        

    }

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

游戏| 临城县| 淮阳县| 沙坪坝区| 铁力市| 安西县| 广南县| 长岛县| 东山县| 甘泉县| 宁乡县| 巴楚县| 武城县| 武定县| 墨玉县| 黎川县| 墨竹工卡县| 阿拉善右旗| 江达县| 都安| 松桃| 平泉县| 新闻| 新晃| 芦山县| 桂阳县| 铜鼓县| 华蓥市| 东山县| 太湖县| 青龙| 弥勒县| 文昌市| 临颍县| 温州市| 阿合奇县| 当阳市| 吕梁市| 和平县| 竹北市| 朝阳区|