1. 程式人生 > >cocos2dx 之揹包系統開發

cocos2dx 之揹包系統開發

大家好我這次呢要給大家講的是cocos2dx遊戲開發實戰專案值揹包系統的開發,大家都知道揹包是什麼都不用我仔細說明了,好廢話不多說了看客戶端程式碼,

這裡我是繼承的cocos 裡面的TableView來開發的,我為什麼用這個而不自己寫,這個嘛我不好意思說有點,應為我比較害懶了。

#ifndef __BAG_H__
#define __BAG_H__

#include "cocos2d.h"
//#include "ui/UIWidget.h"
#include "cocostudio/CocoStudio.h"
/*
#include "ui/CocosGUI.h"
#include "ui/UIScrollView.h"
#include "ui/UIScale9Sprite.h"*/
#include "extensions/cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; using namespace cocos2d::ui; //class Bag : public Layer, public ScrollView, public ScrollViewDelegate //, public cocos2d::extension::ScrollViewDelegate class Bag : public Layer, public cocos2d::extension::TableViewDataSource , public cocos2d::extension
::TableViewDelegate { public: Bag(); ~Bag(); static cocos2d::Scene* bagScene(); virtual bool init(); //virtual void BagRollView(cocos2d::extension::ScrollView* view){}; virtual void //scrollViewDidZoom(cocos2d::extension::ScrollView* view) {} //點選哪個cell; virtual void tableCellTouched(cocos2d::extension
::TableView* table, cocos2d::extension::TableViewCell* cell); //每個cell的size; virtual cocos2d::Size tableCellSizeForIndex(cocos2d::extension::TableView *table, ssize_t idx); //生成cell; virtual cocos2d::extension::TableViewCell* tableCellAtIndex(cocos2d::extension::TableView *table, ssize_t idx); //cell的數量; virtual ssize_t numberOfCellsInTableView(cocos2d::extension::TableView *table); //揹包裡面的物品按鈕的監聽; void BagtouchEvent(Ref *pSender, Widget::TouchEventType type); Sprite* Bag_sprite; CREATE_FUNC(Bag); }; #endif // !__BAG_H__

CPP

#include "Bag.h"


Bag::Bag()
{
}


Bag::~Bag()
{
}

Scene* Bag::bagScene()
{
    auto scene = Scene::create();

    auto layer = Bag::create();

    scene->addChild(layer);


    return scene;
}

bool Bag::init()
{
    if (!Layer::init())
    {
        return false;
    }
    Size size = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();

    Bag_sprite = Sprite::create("BagCrete/Bag_Image.png");
    Bag_sprite->setPosition(Vec2(size.width / 2, size.height / 2));
    this->addChild(Bag_sprite);


    TableView* tableView = TableView::create(this, Size(440, 416));

//  tableView = TableView::create(this, Size(100, 100));
    tableView->setDirection(ScrollView::Direction::VERTICAL);

    tableView->setPosition(Vec2( 296, 150));
    tableView->setDelegate(this);

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

    tableView->reloadData();




    return true;
}


void Bag::tableCellTouched(cocos2d::extension::TableView* table, cocos2d::extension::TableViewCell* cell)
{
    CCLOG("cell touched at index: %ld", cell->getIdx());
}

cocos2d::Size Bag::tableCellSizeForIndex(cocos2d::extension::TableView *table, ssize_t idx)
{

    return Size(300,130);

}

TableViewCell* Bag::tableCellAtIndex(cocos2d::extension::TableView *table, ssize_t idx)
{
    Size size = Director::getInstance()->getVisibleSize();
    TableViewCell *cell = table->dequeueCell();
    if (!cell)
    {
        cell = new (std::nothrow)TableViewCell();
        cell->autorelease();
        for (int i = 0; i < 4; i++)
        {
            auto image_sprite = Sprite::create("BagCrete/icon.png");
            image_sprite->setPosition(Vec2(10 * (10 * i + 6), 45));
            cell->addChild(image_sprite);

            // = Button::create("","");

        }
    }

    return cell;
}

//設定個數;
ssize_t Bag::numberOfCellsInTableView(cocos2d::extension::TableView *table)
{
    return 30;
}


//
void Bag::BagtouchEvent(Ref *pSender, Widget::TouchEventType type)
{
    switch (type)
    {
    case cocos2d::ui::Widget::TouchEventType::BEGAN:

        break;
    case cocos2d::ui::Widget::TouchEventType::MOVED:
        break;
    case cocos2d::ui::Widget::TouchEventType::ENDED:
        break;
    case cocos2d::ui::Widget::TouchEventType::CANCELED:
        break;
    default:
        break;
    }

}

待續 還沒寫完下次繼續

相關推薦

cocos2dx 揹包系統開發

大家好我這次呢要給大家講的是cocos2dx遊戲開發實戰專案值揹包系統的開發,大家都知道揹包是什麼都不用我仔細說明了,好廢話不多說了看客戶端程式碼, 這裡我是繼承的cocos 裡面的TableView來開發的,我為什麼用這個而不自己寫,這個嘛我不好意思說有點,

幸運系統開發

  幸運之旅模式系統開發,幸運之旅分銷系統開發找餘磊159-0206-2432微/電,幸運之旅APP軟體開發。本公司開發軟體系統平臺等微商城、App、手機網頁、PC商城、小程式區塊鏈技術定製開發服務商。   不要拒絕任何一個向你推薦事業機會的人,即使你不相信、不懂、不會做、不想做,或許你很忙,瞭解過很多專案

專案管理資訊系統開發基礎(二、架構設計)

 導語:軟體架構為軟體系統提供了一個結構、行為和屬性的高階抽象,由構建的描述、構建的相互作用(連線件)、指導構建整合的模式以及這些模式的約束組成。 軟體架構不僅制定了系統的組織結構和拓撲結構,並且顯示了系統需求和構件之間的對應關係,提供了一些設計決策的基本原理。1,軟體架構風

工作感悟Android系統開發入門

    從離開學校到工作快兩年了,這期間感悟良多,喜悅、悲傷、希望、失望、、、總的說來在曲折中不斷前進,相信乘風破浪會有時,直掛雲帆濟滄海。     從事Android有些偶然因素,原始打算做WPF相

【Android遊戲開發二十】物理遊戲重力系統開發,讓你的遊戲變得有質有量!

原創,轉載務必在明顯處註明:    今天群裡一哥哥說急需關於物理遊戲方面的資料,so~下午就隨手寫了一個簡單的圓形自由落體Demo,正好一起分享給大家學習下吧;    先大概說一下,之前的文章中,給大家介紹過重力感測器,那麼和今天要說的重力系統,其實是一樣的!    在重力感

12、Cocos2dx 3.0遊戲開發找小三3.0中的生命周期分析

ide () mil and 地理 splay ioe ase ima 重開發人員的勞動成果。轉載的時候請務必註明出處:http://blog.csdn.net/haomengzhu/article/details/27706303 生命周期分析 在前面文章中我

系統開發設計模式

系統開發 系統設計 設計模式 系統設計模式Control plane和data plane別離這兩個概念簡直是networks 101的入門概念。Juniper上世紀末興起的主要原因之一即是嚴厲區別界定control plane和data plane,然後用ASIC完結data plane。Data plan

JavaWeb學習入門——圖書館管理系統開發(Hibernate學習1)

pass ica void 技術分享 gets 學習 images 創建 driver 最近看了看JavaWeb的書籍,才感覺到大二時候學的JavaWeb才僅僅只是個入門。最尷尬的當初還沒咋學一直在看.NET,現在看起來JavaWeb,各種框架各種頭疼啊。看了幾個例子之後覺

開發人員學Linux終結篇:大型系統開發經驗談

bug 架構 版本管理 質量 管控 1.前言這篇文章來源於我的一個ppt,而這個ppt是源於一個朋友的一次邀請,朋友邀請我為一個公司做一堂大約2小時的技術講座,我選定的方向是如何開發一個大型系統,在這裏我對大型系統的定義為日均PV在千萬級以上,而京東和淘寶這類則屬於巨型系統了。因此在本篇中

js學習總結----crm客戶管理系統前端頁面開發及數據渲染

bmi length element || useradd attribute xxx tle exe 具體代碼如下: index.html <!DOCTYPE html> <html lang="en"> <head> <

操作系統開發——一個簡單的Bootsect

版權 文件 pla get 結束 fse -- 設有 擴展 先嚇唬一下讀者朋友呵呵,直接發代碼:(這是UOS操作系統的Bootsect)(有興趣的朋友能夠增加我們,聯系方式在最後) ;------------------------------ ;文件名稱:Boo

JSP編程專題3系統開發模型

純jsp開發模型 jsp+javabean的model1開發模型 mvc的model2開發模型 mvc + 三層架構開發模型 - 系統開發模型,即系統架構,是指整合應用系統程序大的結構。經常提到的系統結構有兩種:三層架構與MVC。這兩種結構既有區別,又有聯系。但是這兩種結構的使用,均是為了降

asp.net mvc+jquery easyui開發實戰教程網站後臺管理系統開發2-Model層建立

ack 前端 strong syn eee 名稱 lar led tegra 上篇(asp.net mvc+jquery easyui開發實戰教程之網站後臺管理系統開發1-準備工作)文章講解了開發過程中的準備工作,主要創建了項目數據庫及項目,本文主要講解項目M層的實現,M層

【轉載】Vue 2.x 實戰後臺管理系統開發(二)

null element asc 其他 就會 ans 目錄 asi all 2. 常見需求 01. 父子組件通信 a. 父 -> 子(父組件傳遞數據給子組件) 使用 props,具體查看文檔 - 使用 Prop 傳遞數據(cn.vuejs.org/v2/guide

原野旅遊卡系統開發

驅動 國內 獎勵 發展 升級 程序 活動 分銷商 國內旅遊 原野之旅系統開發找,原野之旅模式APP軟件開發。原野之旅平臺獎勵制度模式開發,原野之旅APP分銷商城模式軟件開發,原野之旅小程序開發。企業如何在信息高度對稱的時代,重新定義組織、戰略、驅動企業變革,實現客戶主導、數

創世紀互助王模式解析,互助系統開發

根據 標準 系統 大於 穩定 第四次 調整 獎勵 信息 【註冊流程】1、向推薦人購買激活幣和排單幣,由推薦人登錄平臺以“點擊激活會員”的形式完成註冊,註冊一個賬戶需要扣除推薦人1個激活幣,激活幣100一個。(激活後需要完善資料,姓名,身 份 證 號,銀行卡號,交易密碼)2、

河南雲夢一家專門做礦機系統開發 虛擬幣交易平臺系統的公司

時間 app 方向 mac 用戶 穩定 點對點 去中心化 虛擬幣交易平臺開發 什麽是挖礦呢? 1.挖礦只是一個比喻說法,數字資產的挖礦其實就是指進行大量的計算工作。 2.用戶可以購買專業運算設備(礦機),然後誰的運算能力高,誰就能獲得更多的數字資產。 3.這些計算被用來構建

ESP32的SDK開發window系統下eclipse開發環境搭建

在window系統下可以依託eclipse的環境開發ESP32 eclipse下載地址:下載Eclipse IDE for C/C++ Developers版本的 64位:點這裡 32位:點這裡 環境JDK下載地址 64位:點這裡 32位:點這裡 安裝好eclipse開啟報錯的話,就需要配置

java web實驗室管理系統開發_會議主要記錄

課程實驗管理系統小組會議記錄 該系統的使用者暫時分為:系統管理員、老師、學生。(假若後期採用角色管理,則另行修改)。 系統具有下列特性:   1. 系統管理員可以新增、更新或刪除老師和班級的資訊。統計資料(上機人數、總的課時數、總實驗次數等)。 2. 老師可以新增、更新或刪除有關實驗的資訊(實驗目的、

FOMO3D戰鬥英雄系統開發原始碼

一共部署了3個合約, 其中     FOMO3D之戰鬥英雄系統開發(找樑經理131-O679-9736微電),3個收款地址被砍掉(改成了部署者的地址), p3d 也砍掉了 3個合約,在這篇文章中,我們詳細分析了Fomo short 的智慧合約,提煉出了fomo short為o