cocos2dx tableview基礎:實現多圖片的滑動顯示
通過tableview實現滑動顯示26個字母圖片,點選圖片執行相應的動作。
tableview 需要繼承TableViewDataSource(資料來源),TableViewDelegate(觸屏事件處理),同時實現其虛擬函式。
程式碼如下:
標頭檔案TableViewTest.h如下:
#ifndef __macstudycocos2dx__TableViewTest__
#define __macstudycocos2dx__TableViewTest__
#include <stdio.h>
#include "cocos2d.h"
#include "extensions/cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT;
//void runTableViewTest();
class TableViewTest:publiccocos2d::Layer,publiccocos2d::extension::TableViewDataSource,publiccocos2d::extension::TableViewDelegate
{
public:
static cocos2d::Scene* createScene();
virtual bool init();
void toExtensionMainLayer(cocos2d
CREATE_FUNC(TableViewTest);
virtual void scrollViewDidScroll(cocos2d::extension::ScrollView* view){};
//重寫滑動事件
virtual void scrollViewDidZoom(cocos2d::extension::ScrollView* view){};
//重寫縮放事件
//以下重寫TableViewDataSource的虛擬函式
virtualvoid tableCellTouched(cocos2d::extension::TableView* table,
//定義單元觸碰事件
virtual Size tableCellSizeForIndex(TableView *table,ssize_t idx);
//定義單元的大小
virtual TableViewCell* tableCellAtIndex(cocos2d::extension::TableView* table,ssize_t idx);
//定義單元格
virtual ssize_t numberOfCellsInTableView(cocos2d::extension::TableView* table);
//定義單元格數量
};
#endif /* defined(__macstudycocos2dx__TableViewTest__) */
TableViewTest.cpp如下:
#include "TableViewTest.h"
Scene* TableViewTest::createScene()
{
// 'scene' is an autorelease object
auto scene = Scene::create();
// 'layer' is an autorelease object
auto layer = TableViewTest::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
boolTableViewTest::init(){
if (!Layer::init()) {
return false;
}
Size winSize=Director::getInstance()->getWinSize();
TableView* tableView=TableView::create(this,Size(800,300));
tableView->setDirection(ScrollView::Direction::HORIZONTAL);
tableView->setPosition(Vec2(20,winSize.height/2-30));
tableView->setDelegate(this);
this->addChild(tableView);
tableView->reloadData();
return true;
}
voidTableViewTest::tableCellTouched(cocos2d::extension::TableView* table,TableViewCell* cell){
log("cell touched at index:%ld",cell->getIdx());
}
SizeTableViewTest::tableCellSizeForIndex(cocos2d::extension::TableView* table,ssize_t idx){
return Size(300,150);
}
TableViewCell* TableViewTest::tableCellAtIndex(cocos2d::extension::TableView* table,ssize_t idx){
auto letindex=idx+1;
auto string=String::createWithFormat("let%ld.png",letindex);
TableViewCell *cell=table->cellAtIndex(idx);
if (!cell) {
cell=newTableViewCell();
cell->autorelease();
auto sprite=Sprite::create(string->getCString());
sprite->setAnchorPoint(Vec2::ZERO);
sprite->setPosition(Vec2(0,0));
cell->addChild(sprite);
auto label=Label::createWithSystemFont(string->getCString(),"arial", 30);
label->setPosition(Vec2::ZERO);
label->setAnchorPoint(Vec2::ZERO);
label->setTag(123);
cell->addChild(label);
}
else{
auto label=(Label*)cell->getChildByTag(123);
label->setString(string->getCString());
}
return cell;
}
ssize_tTableViewTest::numberOfCellsInTableView(cocos2d::extension::TableView *table){
return 26;
}
最好實現的效果如下:相關推薦
cocos2dx tableview基礎:實現多圖片的滑動顯示
通過tableview實現滑動顯示26個字母圖片,點選圖片執行相應的動作。 tableview 需要繼承TableViewDataSource(資料來源),TableViewDelegate(觸屏事件處理),同時實現其虛擬函式。 程式碼如下: 標頭檔案TableViewTe
baidu地圖:實現多點連線渲染
off utf ntc ack -type navig center div tex <script type="text/javascript"> var points = [ {"Lng":120.17787645967861,"Lat":30.25
初涉RxAndroid結合Glide實現多圖片載入操作
roc mco avr spl asc 生命周期 png ret track 轉載請註明出處:王亟亟的大牛之路 本來周末就想發了然後各種拖拉就沒有然後了,那麽就今天早上寫吧,廢話不多開始正題 什麽是RxJava或者RxAndroid我就不多廢話了,理
Python3.x:實現多任務(多進程)
並發 引用 target 函數 color 日期 ctime strftime span Python3.x:實現多任務(多進程) # python3 # author lizm # datetime 2018-02-13 16:00:00 # -*- coding: u
【練習】字典的循環遍歷:實現多層級節點存取
輸入 lose 功能 print path input 內存地址 sleep pat 關鍵點:字典、列表、集合等可變類型,若將一個可變類型賦給變量A和B,通過B改變了該可變類型內部的元素,指向該可變類型內存地址的變量A的值一樣會跟著改變(因A、B同時指向了一個內存地址)
Spring Data JPA 二:實現多表關聯分頁查詢
最近在對JPA的使用過程中發現對於單表的操作很是方便,但是當設計到多表聯查的時候就需要有一些特殊的操作了。 專案中有一個場景是後臺需要做一個分頁的列表查詢,所需要的資料分散在兩張表中,如果是用mybatis的話直接定義resultMap,然後手寫SQL就可以了。而在JPA中就需要用到JPQL
Spring Data JPA 一:實現多表關聯查詢
多表查詢在spring data jpa中有兩種實現方式,第一種是利用hibernate的級聯查詢來實現,第二種是建立一個結果集的介面來接收連表查詢後的結果,這裡介紹第二種方式。 一、一對一對映 實體 UserInfo :使用者。 實體 Address:家庭住址。 這裡通過外來鍵的方
前端H5實現多圖片上傳並預覽
多檔案上傳並預覽 利用input 的type='file" 可以實現檔案的上傳,不過只支援單個檔案上傳。只有給input加上multiple屬性才能實現多個檔案同時上傳。 好了,下面我們來實現一個簡單的多圖片上傳並預覽的例子 <div class="input-file-box
Gradle基礎:6:多工程構建
Maven中通過使用module來實現多模組的組合,在Gradle中可以類似通過多project進行聚合來實現,這篇文章主要介紹一下具體的使用方式。 多工程結構 建立如下所示3層結構 每個project下均有如下四個任務: 事前準備 在前文的示例基礎上
thinkphp5 結合plupload 實現多圖片的上傳
PHP頁面 <?php namespace app\index\controller; use think\Controller; use think\Db; class Upload extends Controller{ /* t
H5實現多圖片預覽上傳,可點選可拖拽控制元件介紹
在做圖片上傳時發現一個蠻好用的控制元件,支援多張圖片同時上傳,可以點選選擇圖片,也可以將圖片拖拽到上傳框直接上傳,方便,好用,介面也簡單,基本可以直接放到專案裡使用。 先看看他的樣式: 選擇圖片後
TP5.0整合webuploader實現多圖片上傳功能
//**其實這一段js就是upload.js粘過來的,改成自己的路徑** var imgurl = new Array();//這個是自己新增的,用於把多張圖片的路徑放到這個jQuery陣列中然後賦值到表單提交 (function( $ ){ // 當domReady的時候開始
KindEditor實現多圖片上傳
KindEditor的檔案上傳外掛:KindEditor 4.x 文件具體實現步驟demo:1.建立demo.jsp檔案,引入kindeditor的js檔案等,定義上傳檔案按鈕,這是一個div片段。<%@ page language="java" contentType
webuploader結合SpringMVC實現多圖片上傳(附原始碼)
本案例實現多圖片上傳並且可以在前端預覽圖片,後端使用SpringMVC框架接收檔案,文章最後附原始碼。 一、效果 ![這裡寫圖片描述](https://img-blog.csdn.net/2018082816114114?watermark/2/text/aH
前端實現多圖片上傳檢視功能(帶UI實現)
由於業務需求,需要實現多圖片的上傳,並且能夠實時檢視使用者上傳的圖片列表。因此從網上找了一個不錯的外掛,並和bootstrap UI進行的相容。基本能夠滿足需求。下面就是我的實現過程(PS:本人前端了解不太深,所以基本是實現了功能… UI沒有太多考慮…)
JQuery.autocomplete擴充套件功能:實現多列自動提示
最近做一個專案,用到了JQuery的自動補全函式,但預設的是隻顯示一列資料,所以就略加修改,拿出來獻醜了。 下面這個是預設呼叫本地資料: $("#tags").autocomplete(["c++","java", "php", "col
Rxjava+Retrofit實現多圖片上傳
1、前言 專案需求:要求實現多張圖片上傳,並攜帶其他屬性值。 專案使用框架:Rxjava+Retrofit+Okhttp。 先附上大神寫的關於Retrofit的詳細用法,本文所寫以此文為基礎:Retrofit詳解。 2、後臺介面 分析後臺介
使用ueditor實現多圖片上傳案例——Dao層(BaseDao)
package org.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet
利用FileReader實現多圖片上傳瀏覽重點記錄
FileReader用Base64對檔案流進行編碼var files = document.getElementById("file").files; if (files.length < 5) { for (var i = 0; i <
Asp.Net Core 2.1 WebAPI 通過IFormFileCollection實現多圖片上傳
背景 最近在學習 ASP.Net Core 2.1 WebAPI, 在做一個基於 Xamarin.Forms 3.1 App和 WebAPI 後端的小專案,其中有個功能要從手機端選擇多張圖片並且上傳到部署在Azure App Service上的Web