1. 程式人生 > >Cocos2d-x滾動列表詳解(CCScrollView的使用)

Cocos2d-x滾動列表詳解(CCScrollView的使用)

今天要寫一個滾動列表功能,類似下面這樣。(圖片資源都是自己從天天酷跑裡面摳的,僅用於學習方便)

首先,這樣一個列表就和iOS裡面的UITableView沒什麼兩樣,當然,Android中肯定也存在類似的控制元件。

在cocos2d-x引擎中參照ios中的UITableView實現了一個叫做CCTableView的類,用於建立列表,對於熟悉ios程式設計的人來說,這個內容應該是很好理解的。

下面就介紹下CCTableView。

首先,mark幾個比較好的博文。

另外.先介紹下涉及的幾個常用方法。

必須實現:

1 2 3 4 5 6 7 8 9 10 11 //觸控到某個cell的事件 virtual void tableCellTouched(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell); //定製每個cell的size virtual cocos2d::CCSize tableCellSizeForIndex(cocos2d::extension::CCTableView *table, unsigned int idx); //定製每個cell的內容 virtual cocos2d::extension::CCTableViewCell* tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
//確定這個tableview的cell行數 virtual unsigned int numberOfCellsInTableView(cocos2d::extension::CCTableView *table);
選擇實現:
1 2 3 4 //設定單元格高亮的狀態 virtual void tableCellHighlight(CCTableView* table, CCTableViewCell* cell); //設定單元格非高亮的狀態 virtual void tableCellUnhighlight(CCTableView* table, CCTableViewCell* cell);
必須實現:
1 2 3 //由於CCTableView是繼承CCScrollView,所以要繼承這兩個方法 virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view) {} virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view) {}

下面介紹實現方法。

1。使用的時候要注意要引入擴充套件庫檔案: #include "cocos-ext.h" ,並且最好要新增: USING_NS_CC_EXT ; 這樣就不用老是加字首cocos2d::extension。

2。要繼承CCTableView的兩個代理 CCTableViewDelegate 和 CCTableViewDataSource。比如:
1 2 class HelloWorld : public cocos2d::CCLayer,public cocos2d::extension::CCTableViewDelegate,public cocos2d::extension::CCTableViewDataSource{  };
3。實現需要的方法(上述列舉的三類中, 其中兩類必須實現。 還有一類可選。)

簡單三不,就能定製屬於你自己的列表了。很簡單吧。

下面給出上述天天酷跑道具列表的實現程式碼。

GameInfo.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

相關推薦

Cocos2d-x滾動列表(CCScrollView的使用)

今天要寫一個滾動列表功能,類似下面這樣。(圖片資源都是自己從天天酷跑裡面摳的,僅用於學習方便) 首先,這樣一個列表就和iOS裡面的UITableView沒什麼兩樣,當然,Android中肯定也存在類似的控制元件。 在cocos2d-x引擎中參照io

cocos2d-x 碰撞問題(上)

本次主要需要用到的函式 CC_SYNTHESIZE 此函式是為你的函式生成set,get方法的,如何僅僅需要全域性函式,只需要靜態方法即可 #define CC_SYNTHESIZE(varType, varName, funName)\ protec

Cocos2d-x 粒子系統

               cocos2dx已經為我們提供了非常多的粒子系統效果:                       1、 CCParticleExplosion爆炸                       2、 CCParticleFire 火  

詳細的<select>下拉列表

刷新 焦點 root 失去 收集 asc aid isa document 我們使用表單下拉列表選擇數據,如省、市、縣、年、月等數據,我們即可使用下拉菜單表單進行設置。select 我下拉列表菜單標簽Option為下拉列表數據標簽Value 為Option的數據值(用於數據

X--名稱空間

規格 value ems 參數 org ide orm 並運行 主窗體 轉自:http://blog.csdn.net/lisenyang/article/details/18312039 X名稱空間裏面的成員(如X:Name,X:Class)都是寫給XAML編譯器看的、用

12.29-linux r-w-x權限

添加 數字 family 可執行 執行權限 總結 modify process regular 12.29linux r-w-x權限詳解內容:1. linux目錄權限體系2. rwx權限的計算3. rwx針對目錄或文件的具體含義4. 更改權限---chmod命令5. 一些關

Xcode中的Info.plist欄位列表

http://www.cocoachina.com/ios/20160922/17611.html     Info.plist用於向iOS提供關於app,bundle或者framework的一些重要資訊。它指定了比如一個應用應該怎樣啟動,它如何被本地化,應用的名稱

SpringCloud:註冊中心Eureka的 Rest Api列表

可以通過API介面監控和管理服務的提供者: 1.展示所有的提供者的註冊資訊: http://localhost:7001/eureka/apps 返回結果如下 <application> <name>SPRING-CLOUD-PRODUCTER2-002&

序列之列表

列表是python中常用的重要資料結構,它與字串,元組都屬於序列,支援序列相關操作;本文主要內容如下:1>列表定義方式與基本用法;2>列表遍歷;2>字串,元組與列表區別;3>列表常用函式介紹。 1.列表定義方式: 列表在Python中表示方法:[val1, val2, val3],

滾動及製作(一)

檢視滾動條的滾動距離 js中有兩套方法可以檢視當前滾動條的滾動距離。 第一套是這樣的: window.pageXOffset/window.pageYOffset 這個方法可以檢視滾動條的橫軸和縱軸的滾動距離,但是很遺憾的是IE8以及以下的版本不相容。 因此針對於IE,我們就需要有第二套方法: d

Netty4.x整合SpringBoot2.x使用Protobuf3

前言 本篇文章主要介紹的是SpringBoot整合Netty以及使用Protobuf進行資料傳輸的相關內容。Protobuf會介紹下用法,至於Netty在 Protobuf 介紹 Protocol Buffer是Google的語言中立的,平臺中立的,可擴充套件機制的,用於序列化結構化資料 - 對比XML,

Python3.X whichcraft包:返回可執行檔案的路徑

如需轉載請註明出處。 win10 64位、Python 3.6.3、Sublime Text 3,whichcraft 0.5.2(2018-10-09)。 whichcraft,它提供跨平臺(Linux、Mac、Windows)、跨Python的shutil.

python基礎篇大合集,程序、裝飾器、列表篇!

程序以及狀態 1. 程序 2. 程序的狀態 程序的建立-multiprocessing 1. 建立程序 2. 程序pid 3. Process語法結構如下 4. 給子程序指定的函式傳遞引數 5. 程序間不共享全域性變數 程序和執行緒對比

html之marquee實現圖片文字滾動效果

                在製作網頁的時候,很多情況下會遇到需要某一個文字或者圖片像廣告那樣水平或者垂直的滾動,這樣的效果JavaScript可以製作,但是比較麻煩,直接看那些程式碼會感覺到非常的複雜。這裡我們來介紹一種簡單的方式實現這樣效果,他就是HTML標籤中的marquee,他其實是一個容器標籤。

WPF XAML X名稱空間

X名稱空間裡面的成員(如X:Name,X:Class)都是寫給XAML編譯器看的、用來引導XAML編譯器將XAML程式碼編譯為CLR程式碼。 【X名稱空間裡面到底都有些什麼】     x名稱空間對

Android 5.X 新特性(一)——主題、Palette、陰影、著色和裁剪

Android 5.X 系列開始使用新的設計風格Material Design來統一整個Android系統的介面設計風格。 Material Design 主題 Material Design 現在有三種預設的主題可以設定,程式碼如下: @andr

[No000013F]WPF學習之X名稱空間

4.2 情況 之前 集中 sharp 要求 mes ble 實例 原文:[No000013F]WPF學習之X名稱空間詳解X名稱空間裏面的成員(如X:Name,X:Class)都是寫給XAML編譯器看的、用來引導XAML代碼將XAML代碼編譯為CLR代碼。 4.1X名稱空間

monkey命令引數列表

一、D:\android\android-sdk-windows\tools目錄中沒有adb.exe 檢查一下你的android-sdk-windows目錄下有沒有platform-tools目錄。並檢查訪目錄下是否有adb.exe 二、在cmd中執行“adb she

Apache2.4.x 配置檔案

Apache配置需要了解如下: Apache預設配置檔案所在目錄 - 原始碼包安裝 /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf

WPF學習之X名稱空間

X名稱空間裡面的成員(如X:Name,X:Class)都是寫給XAML編譯器看的、用來引導XAML程式碼將XAML程式碼編譯為CLR程式碼。 4.1X名稱空間裡面到底都有些什麼? x名稱空間對映的是: