読者です 読者をやめる 読者になる 読者になる

フニゲの開発日記

Electronとか...

cc.TableView

cocos2d-html5


iOSのUITableViewにちょっと似ているテーブル用のクラス。
UITableViewと違ってヘッダもフッタもセクションも無いので、あんまり難しいことはできない。

検索しても使用例があまりないので、大変なのかなあとぼんやり思っていたのだが extensions/GUI/CCScrollView/CCTableView.js を読んでちょっと試したらあっさり動いた。

onEnter:function () {
    ...
    this._tableView = cc.TableView.create(this, size); // 最初の引数がcc.TableViewDataSource。
    this._tableView.setDelegate(this); // cc.TableViewDelegate
    this._tableView.setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN); // なんか逆順になるので
    this.addChild(this._tableView, 1);
},

// DataSourceはこの3つ
cellSizeForTable:function () {
    return cc.SizeMake(320, 50); // セルのサイズ
},
numberOfCellsInTableView:function () {
    return Giin.length; // セルの数
},
tableCellAtIndex:function (table, index) {
    var cell = table.dequeueCell();
    if (!cell) {
        cell = new cc.TableViewCell();
        ... // いろいろ貼り付け
    }
    ... // いろいろ更新
    cell.setTag(index);
    return cell;
},

// そしてDelegate
tableCellTouched:function (table, cell) {
     cc.log(cell.getTag());
},

// これは要らないかも
scrollViewDidScroll:function () {},

f:id:funige:20130818223229p:plain

ああ。こんなの作ってる場合じゃないのに。

もうちょっとだけ続きます……。

広告を非表示にする