pos机错误代码gf

 新闻资讯2  |   2023-07-13 09:36  |  投稿人:pos机之家

网上有很多关于pos机错误代码gf,scrollView滚动视图实现商城模块的知识,也有很多人为大家解答关于pos机错误代码gf的问题,今天pos机之家(www.poszjia.com)为大家整理了关于这方面的知识,让我们一起来看下吧!

本文目录一览:

1、pos机错误代码gf

pos机错误代码gf

自己看回之前写的代码都有点吃力,早期代码比较乱,很多东西都没有封装起来,但是一些功能性的东西还是有的,可以参考一下。

实例代码:

ScrollViewTest2.h

#ifndef _ScrollViewTest2_H_

#define _ScrollViewTest2_H_

#include "cocos2d.h"

#include "cocos-ext.h"

USING_NS_CC_EXT;

using namespace cocos2d;

using namespace cocos2d::extension;

extern int giftTag;

class ScrollViewTest2 :public CCLayer, public CCScrollViewDelegate

{

public:

static cocos2d::CCScene* createScene();//获取欢迎画面的CCScene

virtual bool init();

//scroll 委托

virtual void scrollViewDidScroll(CCScrollView* view);

virtual void scrollViewDidZoom(CCScrollView* view);

virtual void scrollViewMoveOver(CCScrollView* view);

CCNode* create9Sprite(float pWith, float pHeight);//创建9妹精灵

virtual bool ccTouchBegan(CCTouch *CCTouch, CCEvent *pCCEvent);

virtual void ccTouchMoved(CCTouch *CCTouch, CCEvent *pCCEvent);

virtual void ccTouchEnded(CCTouch *CCTouch, CCEvent *pCCEvent);

CCLabelTTF* buy_information;

CCLabelTTF* buy_information1;

CCLabelTTF* buy_price;

//CCSprite*xuanding;//勾选

void getTestTag(int tag);//获取道具描述的tag

void buyClick(CCObject*sender);//购买按钮回调

void chooseClick(CCObject*sender);//选择按钮回调

CCSize winSize;

void homeClick(CCObject* sender);//返回主界面

CCLabelAtlas* goldNum;//金币数量

virtual void update(float dt);//更新金币数量

CCLabelAtlas* magnetNum;//磁铁数量

CCLabelAtlas* shieldNum;//护盾数量

CCLabelAtlas* rocketNum;//火箭数量

CCLabelAtlas* bloodNum;//血瓶数量

CREATE_FUNC(ScrollViewTest2);

private:

//根据手势滑动的距离和方向滚动图层

void adjustCCScrollView(float offset);

private:

//存放所有图片

CCArray* m_spVec;

//当前的CCScrollView

extension::CCScrollView *m_CCScrollView;

//CCTouchBegen时的触摸位置

CCPoint m_CCTouchCCPoint;

//当前是第几张图片

int m_currentPage;

float thelastPos;

float xOffSet;//存储偏离量

CCScrollView* scrollView;

int x; //CCScrollView的当前横坐标

private:

CCArray* sp_vec;//声明一个容器

};

#endif

ScrollViewTest2.cpp

#include "ScrollViewTest2.h"

#include "StartGame.h"

#include "DataManager.h"

#include "BaseUtils.h"

#include "Hero.h"

#include "Goldlayer.h"

#include "JNIUtil.h"

USING_NS_CC;

/*

* 精灵真正的位置为:spr->getPositionX + 偏移量

*/

int giftTag;

int sprIdx;

std::string magnetStr;

std::string shieldStr;

std::string rocketStr;

std::string bloodStr;

//越向右偏移量越小

#define MIDDLE_POSITION 240

#define FIRST_OFFSET 160 //第一个spr置于中间的偏移量

#define LAST_OFFSET -1040 //最后一个spr置于中间的偏移量,计算:第一个减掉((spr总数-1) * spr宽度) 160-(13-1)*100=-1040

#define CELL_width="360px",height="auto" />

#define BIG_SCALE 3.0f

CCScene* ScrollViewTest2::createScene(){

CCLayer* layer = ScrollViewTest2::create();

CCScene* scene = CCScene::create();

scene->addChild(layer);

return scene;

}

void ScrollViewTest2::update(float dt){

countDownTime -= dt;

ONLINE_GIFT_TIME += dt;

int goldNum_xda = DataManager::getInstance()->getGoldNum();

std::string goldStr;

goldStr = CCString::createWithFormat("%d", goldNum_xda)->getCString();

goldNum->setString(goldStr.c_str());

//磁铁数量

int magnetNum_xda = DataManager::getInstance()->getMagnetNum();

//std::string magnetStr;

magnetStr = CCString::createWithFormat("%d", magnetNum_xda)->getCString();

magnetNum->setString(magnetStr.c_str());

//护盾数量

int shieldNum_xda = DataManager::getInstance()->getShieldNum();

shieldStr = CCString::createWithFormat("%d", shieldNum_xda)->getCString();

shieldNum->setString(shieldStr.c_str());

//火箭数量

int rocketNum_xda = DataManager::getInstance()->getRocketNum();

rocketStr = CCString::createWithFormat("%d", rocketNum_xda)->getCString();

rocketNum->setString(rocketStr.c_str());

//血瓶数量

int bloodNum_xda = DataManager::getInstance()->getBloodNum();

bloodStr = CCString::createWithFormat("%d", bloodNum_xda)->getCString();

bloodNum->setString(bloodStr.c_str());

}

bool ScrollViewTest2::init()

{

if (!CCLayer::init())

{

return false;

}

scheduleUpdate();

CCLOG("11111111111111111");

//商城界面

winSize = CCDirector::sharedDirector()->getWinSize();

CCSprite*shopLayer = CCSprite::create("beijing2_xda.png");

shopLayer->setPosition(ccp(winSize.width="360px",height="auto" />

this->addChild(shopLayer);

//左上角商城图标

CCSprite*shopPictuer = CCSprite::create("shop.png");

shopPictuer->setPosition(ccp(50, 280));

shopPictuer->setScale(0.8f);

this->addChild(shopPictuer);

//购买按钮

CCMenuItemImage* buy_btn = CCMenuItemImage::create("buy.png", "buy.png", this, menu_selector(ScrollViewTest2::buyClick));

buy_btn->setPosition(ccp(winSize.width="360px",height="auto" />

buy_btn->setScale(0.7f);

CCMenu*shopMenu_2 = CCMenu::create(buy_btn, NULL);

shopMenu_2->setPosition(CCPointZero);

this->addChild(shopMenu_2);

shopMenu_2->setTag(216);

CCLOG("2");

//选择按钮按钮

CCMenuItemImage* choose_btn = CCMenuItemImage::create("choose.png", "choose.png", this, menu_selector(ScrollViewTest2::chooseClick));

choose_btn->setPosition(ccp(winSize.width="360px",height="auto" />

choose_btn->setScale(0.7f);

CCMenu*shopMenu_3 = CCMenu::create(choose_btn, NULL);

shopMenu_3->setPosition(CCPointZero);

this->addChild(shopMenu_3,1);

shopMenu_3->setVisible(false);

shopMenu_3->setTag(710);

//返回主页按钮

CCMenuItemImage* home_btn = CCMenuItemImage::create("home_btn.png", "home_btn.png", this, menu_selector(ScrollViewTest2::homeClick));

home_btn->setPosition(ccp(winSize.width="360px",height="auto" />

home_btn->setScale(0.7f);

CCMenu*shopMenu_1 = CCMenu::create(home_btn, NULL);

shopMenu_1->setPosition(CCPointZero);

this->addChild(shopMenu_1);

//道具描述

buy_information = CCLabelTTF::create(GBK_TO_UTF8("金币磁铁").c_str(), "Arial", 24);

buy_information->setColor(ccYELLOW);

buy_information->setPosition(ccp(winSize.width="360px",height="auto" />

this->addChild(buy_information);

buy_information->setTag(1212);

buy_information1= CCLabelTTF::create(GBK_TO_UTF8("不会加速但金币滚滚来").c_str(), "Arial", 18);

//buy_information1->setColor(ccYELLOW);

buy_information1->setPosition(ccp(winSize.width="360px",height="auto" />

this->addChild(buy_information1);

buy_information1->setTag(121295);

//道具价格

buy_price = CCLabelTTF::create(GBK_TO_UTF8("20.00RMB").c_str(), "Arial", 18);

buy_price->setColor(ccYELLOW);

buy_price->setPosition(ccp(winSize.width="360px",height="auto" />

this->addChild(buy_price);

buy_price->setTag(8080);

CCLOG("31111111111111111");

//金币

CCSprite * gold_png = CCSprite::create("gold.png");

gold_png->setScale(0.7f);

gold_png->setPosition(ccp(winSize.width="360px",height="auto" />

this->addChild(gold_png);

goldNum = CCLabelAtlas::create("99999", "num1.png", 12, 17, 48);

goldNum->setPosition(ccp(winSize.width="360px",height="auto" />

goldNum->setColor(ccYELLOW);

goldNum->setAnchorPoint(CCPointZero);

this->addChild(goldNum);

//磁铁数量

magnetNum = CCLabelAtlas::create("99999", "num1.png", 12, 17, 48);

magnetNum->setPosition(ccp(winSize.width="360px",height="auto" />

magnetNum->setColor(ccYELLOW);

magnetNum->setAnchorPoint(CCPointZero);

this->addChild(magnetNum);

magnetNum->setTag(1007);

//护盾数量

shieldNum = CCLabelAtlas::create("99999", "num1.png", 12, 17, 48);

shieldNum->setPosition(ccp(winSize.width="360px",height="auto" />

shieldNum->setColor(ccYELLOW);

shieldNum->setAnchorPoint(CCPointZero);

this->addChild(shieldNum);

//火箭数量

rocketNum = CCLabelAtlas::create("99999", "num1.png", 12, 17, 48);

rocketNum->setPosition(ccp(winSize.width="360px",height="auto" />

rocketNum->setColor(ccYELLOW);

rocketNum->setAnchorPoint(CCPointZero);

this->addChild(rocketNum);

//血瓶数量

bloodNum = CCLabelAtlas::create("99999", "num1.png", 12, 17, 48);

bloodNum->setPosition(ccp(winSize.width="360px",height="auto" />

bloodNum->setColor(ccYELLOW);

bloodNum->setAnchorPoint(CCPointZero);

this->addChild(bloodNum);

CCSize winSize = CCDirector::sharedDirector()->getWinSize();

//首先创建CCScrollView

CCLayer* scroll_layer = CCLayer::create();//创建CCScrollView中的容器层

scroll_layer->setPosition(CCPoint(0, 0));

scroll_layer->setAnchorPoint(CCPoint(0, 0));

scroll_layer->setContentSize(winSize);//设置容器层大小为(CELL_width="360px",height="auto" />

scroll_layer->setTag(101);

scrollView = CCScrollView::create(CCSize(winSize.width="360px",height="auto" />

scrollView->setDelegate(this);//设置委托

scrollView->setDirection(kCCScrollViewDirectionHorizontal);//设置滚动方向为水平

scrollView->setTouchEnabled(true);

scrollView->setPosition(CCPoint(0, 50));

scrollView->setBounceable(true);

scrollView->setTag(100);

this->addChild(scrollView, 2);

sp_vec = CCArray::createWithCapacity(100);

sp_vec->retain();

//增加商品

for (int i = 1; i < 14; i++){

char tmp[256];

sprintf(tmp, "p%d.png", i);

CCSprite* spr = CCSprite::create(tmp);

//spr->setAnchorCCPoint(CCPoint(0, 0));

spr->setPosition(CCPoint(i*CELL_width="360px",height="auto" />

spr->setTag(i);

scroll_layer->addChild(spr,2);

sp_vec->addObject(spr);

CCSprite* xuanding = CCSprite::create("gouxuan.png");//人物的勾选

xuanding->setPosition(ccp(winSize.width="360px",height="auto" />

xuanding->setVisible(false);

xuanding->setScale(0.5f);

spr->addChild(xuanding, 3);//放到道具图标里面

xuanding->setTag(i);

//if (DataManager::getHeroNum()+5==sprIdx)

//{

CCLOG("411111111111111111");

if (DataManager::getHeroNum() + 5 == i)

{

spr->getChildByTag(i)->setVisible(true);

}

else

{

spr->getChildByTag(i)->setVisible(false);

}

//}

CCSprite* xuanding_cj = CCSprite::create("gouxuan.png");//场景的勾选

xuanding_cj->setPosition(ccp(winSize.width="360px",height="auto" />

xuanding_cj->setVisible(false);

xuanding_cj->setScale(0.5f);

spr->addChild(xuanding_cj, 3);//放到道具图标里面

xuanding_cj->setTag(i+100);

if (DataManager::getSceneNum() + 11 == i)

{

spr->getChildByTag(i+100)->setVisible(true);

}

else

{

spr->getChildByTag(i+100)->setVisible(false);

}

}

CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, true, this);

//auto listener = EventListenerTouchOneByOne::create();

////设置是否想下传递触摸

//listener->setSwallowTouches(true);

//listener->onTouchBegan = CC_CALLBACK_2(ScrollViewTest2::onTouchBegan, this);

//listener->onTouchMoved = CC_CALLBACK_2(ScrollViewTest2::onTouchMoved, this);

//listener->onTouchEnded = CC_CALLBACK_2(ScrollViewTest2::onTouchEnded, this);

////将触摸监听添加到eventDispacher中去

//_eventDispatcher->addEventListenerWithCCSceneGraphPriority(listener, this);

////注册触摸结束

//最开始把第一个商品偏移到正中央

scrollView->setContentOffset(CCPoint(FIRST_OFFSET, 0), false);

CCLOG("51111111111111111");

return true;

}

void ScrollViewTest2::getTestTag(int tag){

//getChildByTag(1212);

CCLabelTTF*test = (CCLabelTTF*)getChildByTag(1212);

CCLabelTTF*test1 = (CCLabelTTF*)getChildByTag(8080);

CCLabelTTF*test2 = (CCLabelTTF*)getChildByTag(121295);

//char tmp1[256];

////sprintf(tmp1, GBK_TO_UTF8("当前持有:%s").c_str(), magnetStr.c_str());//拼接字符串 ,magnetStr.c_str() 表示数量

//sprintf(tmp1, GBK_TO_UTF8("当前持有:%s").c_str());

//char tmp2[256];

//sprintf(tmp2, GBK_TO_UTF8("当前持有:%s").c_str());

//char tmp3[256];

//sprintf(tmp3, GBK_TO_UTF8("当前持有:%s").c_str());

//char tmp4[256];

//sprintf(tmp4, GBK_TO_UTF8("当前持有:%s").c_str());

switch (tag)

{

case 1:

test->setString(GBK_TO_UTF8("金币磁铁").c_str());

test1->setString(GBK_TO_UTF8("当前持有:").c_str());

test2->setString(GBK_TO_UTF8("不会加速但金币滚滚来").c_str());

magnetNum->setVisible(true);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 2:

test->setString(GBK_TO_UTF8("护盾").c_str());

test1->setString(GBK_TO_UTF8("当前持有:").c_str());

test2->setString(GBK_TO_UTF8("无视障碍10秒").c_str());

shieldNum->setVisible(true);

magnetNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 3:

test->setString(GBK_TO_UTF8("火箭冲刺").c_str());

test1->setString(GBK_TO_UTF8("当前持有:").c_str());

test2->setString(GBK_TO_UTF8("进行加速10秒!").c_str());

rocketNum->setVisible(true);

shieldNum->setVisible(false);

magnetNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 4:

test->setString(GBK_TO_UTF8("加血道具").c_str());

test1->setString(GBK_TO_UTF8("当前持有:").c_str());

test2->setString(GBK_TO_UTF8("补满血量!").c_str());

bloodNum->setVisible(true);

shieldNum->setVisible(false);

magnetNum->setVisible(false);

rocketNum->setVisible(false);

break;

case 5:

test->setString(GBK_TO_UTF8("小摔哥").c_str());

test1->setString(GBK_TO_UTF8(" ").c_str());

test2->setString(GBK_TO_UTF8("穿戴正常的小摔哥!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 6:

test->setString(GBK_TO_UTF8("兵马俑小摔哥\").c_str());

test1->setString(GBK_TO_UTF8("20.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("秦始皇时代可流行了!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 7:

test->setString(GBK_TO_UTF8("财神皮肤").c_str());

test1->setString(GBK_TO_UTF8("20.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("喜气财气!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 8:

test->setString(GBK_TO_UTF8("熊猫皮肤").c_str());

test1->setString(GBK_TO_UTF8("20.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("竹子吃多了!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 9:

test->setString(GBK_TO_UTF8("金币礼包").c_str());

test1->setString(GBK_TO_UTF8("20.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("获得金币2000!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 10:

test->setString(GBK_TO_UTF8("金币礼包").c_str());

test1->setString(GBK_TO_UTF8("10.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("获得金币1000!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 11:

test->setString(GBK_TO_UTF8("企鹅峰").c_str());

test1->setString(GBK_TO_UTF8(" ").c_str());

test2->setString(GBK_TO_UTF8("最原始的雪崩逃生体验!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 12:

test->setString(GBK_TO_UTF8("咆哮山").c_str());

test1->setString(GBK_TO_UTF8("20.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("开启新场景,来挑战吧!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

case 13:

test->setString(GBK_TO_UTF8("鹰啸崖").c_str());

test1->setString(GBK_TO_UTF8("20.00.RMB").c_str());

test2->setString(GBK_TO_UTF8("开启新场景,来挑战吧!").c_str());

magnetNum->setVisible(false);

shieldNum->setVisible(false);

rocketNum->setVisible(false);

bloodNum->setVisible(false);

break;

/* case 14:

test->setString(GBK_TO_UTF8("").c_str());

test1->setString(GBK_TO_UTF8("").c_str());

test2->setString(GBK_TO_UTF8("").c_str());

break;

case 15:

test->setString(GBK_TO_UTF8("").c_str());

test1->setString(GBK_TO_UTF8("").c_str());

test2->setString(GBK_TO_UTF8("").c_str());

break;*/

default:

break;

}

}

//int sprIdx;

void ScrollViewTest2::scrollViewDidScroll(CCScrollView* view)

{

CCLOG("CCScrollViewDidScroll");

//在CCScrollView拖动时响应该函数

float offsetPosX = (view->getContentOffset()).x;//获得偏移X坐标(向右移动,偏移量为正数,向左则为负数)

//CCLOG("offset pos is %f , %f", view->getContentOffset().x, view->getContentOffset().y);

//for 循环遍历容器中的每个精灵

CCObject* pObj;

//正向

CCARRAY_FOREACH(sp_vec, pObj)

{

CCSprite* e = (CCSprite*)pObj;

float CCPointX = e->getPositionX();//获得当前对象的X坐标(不管怎么滚动,这个坐标都是不变的)

float endPosX = CCPointX + offsetPosX;//将精灵的 X坐标 + 偏移X坐标

//当endPosX在 中间 范围,则对象变大

if (endPosX > (MIDDLE_POSITION - CELL_width="360px",height="auto" />

{

e->setScale(1.0f);

sprIdx = e->getTag();//获得正中间的商品的Tag

getTestTag(e->getTag());

if (sprIdx == 5 || sprIdx == 11)

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

}

else if (sprIdx == 6 && DataManager::getIsBuyGoldHero())

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

getChildByTag(8080)->setVisible(false);

}

else if (sprIdx == 7 && DataManager::getIsBuyFortuneHero())

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

getChildByTag(8080)->setVisible(false);

}

else if (sprIdx == 8 && DataManager::getIsBuyPandaHero())

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

getChildByTag(8080)->setVisible(false);

}

/*else if (sprIdx == 10)

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

}*/

else if (sprIdx == 12 && DataManager::getIsBuyPaoxiaoshan())

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

getChildByTag(8080)->setVisible(false);

}

else if (sprIdx == 13 && DataManager::getIsBuyYingxiaoya())

{

getChildByTag(710)->setVisible(true);

getChildByTag(216)->setVisible(false);

getChildByTag(8080)->setVisible(false);

}

else

{

getChildByTag(710)->setVisible(false);

getChildByTag(216)->setVisible(true);

getChildByTag(8080)->setVisible(true);

}

}

else

{

//不是在上面的范围,则设置为正常大小

e->setScale(0.5f);

}

}

// for (auto e : sp_vec)

// {

// auto CCPointX = e->getPositionX();//获得当前对象的X坐标(不管怎么滚动,这个坐标都是不变的)

// float endPosX = CCPointX + offsetPosX;//将精灵的 X坐标 + 偏移X坐标

// //当endPosX在 中间 范围,则对象变大

// if (endPosX > (MIDDLE_POSITION - CELL_width="360px",height="auto" />

// {

// e->setScale(BIG_SCALE);

// sprIdx = e->getTag();//获得正中间的商品的Tag

// }

// else

// {

// //不是在上面的范围,则设置为正常大小

// e->setScale(1.0f);

// }

//}

}

void ScrollViewTest2::scrollViewDidZoom(CCScrollView* view)

{

CCLOG("CCScrollViewDidZoom");

}

void ScrollViewTest2::scrollViewMoveOver(CCScrollView* view)

{

CCLOG("CCScrollViewMoveOver");

}

bool isTouchMovedMove;

bool ScrollViewTest2::ccTouchBegan(CCTouch *touch, CCEvent *pEvent){

isTouchMovedMove = false;

CCLOG("onTouchBegan");

return true;

}

void ScrollViewTest2::ccTouchMoved(CCTouch *touch, CCEvent *pEvent){

isTouchMovedMove = true;

CCLOG("onTouchMoved");

float offSetX = scrollView->getContentOffset().x;

//如果偏移量大于最初位置或者小于最末位置,都不再移动

if (offSetX >= FIRST_OFFSET){

scrollView->setContentOffset(CCPoint(FIRST_OFFSET, 0), false);

}

else if (offSetX <= LAST_OFFSET){

scrollView->setContentOffset(CCPoint(LAST_OFFSET, 0), false);

}

}

void ScrollViewTest2::ccTouchEnded(CCTouch *touch, CCEvent *pEvent){

CCLOG("onTouchEnded");

// 关闭CCCCScrollView中的自调整,如果没有设置则进行回弹

scrollView->unscheduleAllSelectors();

CCLOG("offset pos is %f", scrollView->getContentOffset().x);

//如果没有滑动,则根据点击的位置进行判断,将相应的商品移动到正中间

if (!isTouchMovedMove){

//没有滑动的情况如下

int locatX = touch->getLocation().x;//获取点击的位置

int firstOffset = scrollView->getContentOffset().x;//当前的偏移量

int Offset = firstOffset - (locatX - MIDDLE_POSITION);//计算出将点击位置移动到中间的最后偏移量 ,(locatX - MIDDLE_POSITION) 是中间距离

//以下计算 在宽度范围内的偏移量,均调整为正中央的偏移量: eg:【260+-30】内的值都设为260

int i = ((FIRST_OFFSET + CELL_width="360px",height="auto" />

int lastOffset = FIRST_OFFSET - i * CELL_width="360px",height="auto" />

//如果超出偏移范围

if (lastOffset >= FIRST_OFFSET){

scrollView->setContentOffset(CCPoint(FIRST_OFFSET, 0), true);

}

else if (lastOffset <= LAST_OFFSET){

scrollView->setContentOffset(CCPoint(LAST_OFFSET, 0), true);

}

else{

//根据调整后的偏移量进行偏移

scrollView->setContentOffset(CCPoint(lastOffset, 0), true);

}

}

else{

//滑动的情况

//以下计算 在宽度范围内的偏移量,均调整为正中央的偏移量

/*int i = ((FIRST_OFFSET + CELL_width="360px",height="auto" />

unsigned int t = FIRST_OFFSET - i * CELL_width="360px",height="auto" />

scrollView->setContentOffset(CCPoint(t, 0), true);*/

}

}

//返回主页按钮回调

void ScrollViewTest2::homeClick(CCObject* sender){

CCDirector::sharedDirector()->replaceScene(StartGame::scene());

}

//购买按钮回调

void ScrollViewTest2::buyClick(CCObject*sender){

switch (sprIdx)

{

case 1:

if (DataManager::getGoldNum()<300)

{

CCLayer*layer = Goldlayer::create();

this->addChild(layer, 4);

}

else if (true)

{

DataManager::getInstance()->setGoldNum(DataManager::getInstance()->getGoldNum() - 300);

DataManager::getInstance()->setMagnetNum(DataManager::getInstance()->getMagnetNum()+1);

}

break;

case 2:

if (DataManager::getGoldNum()<600)

{

CCLayer*layer = Goldlayer::create();

this->addChild(layer,4);

}

else

{

DataManager::getInstance()->setShieldNum(DataManager::getInstance()->getShieldNum() + 1);

DataManager::getInstance()->setGoldNum(DataManager::getInstance()->getGoldNum() -600);

}

break;

case 3:

if (DataManager::getGoldNum()<500)

{

CCLayer*layer = Goldlayer::create();

this->addChild(layer,4);

}

else

{

DataManager::getInstance()->setRocketNum(DataManager::getInstance()->getRocketNum() + 1);

DataManager::getInstance()->setGoldNum(DataManager::getInstance()->getGoldNum() - 500);

}

break;

case 4:

if (DataManager::getGoldNum()<800)

{

CCLayer*layer = Goldlayer::create();

this->addChild(layer,4);

}

else

{

DataManager::getInstance()->setBloodNum(DataManager::getInstance()->getBloodNum() + 1);

DataManager::getInstance()->setGoldNum(DataManager::getInstance()->getGoldNum() - 800);

}

break;

case 5:

DataManager::setHeroNum(0);

//HeroTypeNum = 1;

break;

case 6:

{

std::function<void()> successCallback = [=]{

DataManager::setIsBuyGoldHero(true);

DataManager::setHeroNum(1);

getChildByTag(216)->setVisible(false);

getChildByTag(710)->setVisible(true);

getChildByTag(8080)->setVisible(false);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_NEWHERO, successCallback, failCallback);

}

break;

case 7:

{

std::function<void()> successCallback = [=]{

DataManager::setIsBuyFortunrHero(true);

DataManager::setHeroNum(2);

getChildByTag(216)->setVisible(false);

getChildByTag(710)->setVisible(true);

getChildByTag(8080)->setVisible(false);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_NEWHERO, successCallback, failCallback);

}

break;

case 8:

{

std::function<void()> successCallback = [=]{

DataManager::setIsBuyPandaHero(true);

DataManager::setHeroNum(3);

//HeroTypeNum = 4;

getChildByTag(216)->setVisible(false);

getChildByTag(710)->setVisible(true);

getChildByTag(8080)->setVisible(false);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_NEWHERO, successCallback, failCallback);

}

break;

case 9:

{

std::function<void()> successCallback = [=]{

DataManager::getInstance()->setGoldNum(DataManager::getInstance()->getGoldNum() + 2000);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_GOLD2, successCallback, failCallback);

}

break;

case 10:

{

std::function<void()> successCallback = [=]{

DataManager::getInstance()->setGoldNum(DataManager::getInstance()->getGoldNum() + 1000);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_GOLD1, successCallback, failCallback);

}

break;

case 11:

DataManager::setSceneNum(0);

break;

case 12:

{

std::function<void()> successCallback = [=]{

DataManager::getInstance()->setIsBuyPaoxiaoshan(true);

DataManager::setSceneNum(1);

getChildByTag(216)->setVisible(false);

getChildByTag(710)->setVisible(true);

getChildByTag(8080)->setVisible(false);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_NEWSCENE, successCallback, failCallback);

}

break;

case 13:

{

std::function<void()> successCallback = [=]{

DataManager::getInstance()->setIsBuyYingxiaoya(true);

getChildByTag(216)->setVisible(false);

getChildByTag(710)->setVisible(true);

getChildByTag(8080)->setVisible(false);

DataManager::setSceneNum(2);

};

std::function<void()> failCallback = [=]{

};

JNIUtil::pay(EnumPayType::GOODS_NEWSCENE, successCallback, failCallback);

}

break;

default:

break;

}

}

//选择按钮回调

void ScrollViewTest2::chooseClick(CCObject*sender){

switch (sprIdx)

{

case 1:

break;

case 5:

{

//HeroTypeNum = 1;

//CCDirector::sharedDirector()->replaceScene(StartGame::scene());

DataManager::setHeroNum(0);

for (int i = 1; i < 14; i++) {

CCNode* n = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i);

if (i == sprIdx) {

n->setVisible(true);

//DataManager::setIsHeroVisiable(true);

}

else {

n->setVisible(false);

}

}

//xuanding->setVisible(true);

//getChildByTag(963)->setVisible(true);

break;

}

case 6:

//HeroTypeNum = 2;

//CCDirector::sharedDirector()->replaceScene(StartGame::scene());

for (int i = 1; i < 14; i++) {

CCNode* n = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i);

if (i == sprIdx) {

n->setVisible(true);

}

else {

n->setVisible(false);

}

}

DataManager::setHeroNum(1);

break;

case 7:

/*HeroTypeNum = 3;

CCDirector::sharedDirector()->replaceScene(StartGame::scene());*/

DataManager::setHeroNum(2);

for (int i = 1; i < 14; i++) {

CCNode* n = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i);

if (i == sprIdx) {

n->setVisible(true);

}

else {

n->setVisible(false);

}

}

break;

case 8:

/*HeroTypeNum = 4;

CCDirector::sharedDirector()->replaceScene(StartGame::scene());*/

DataManager::setHeroNum(3);

for (int i = 1; i < 14; i++) {

CCNode* n = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i);

if (i == sprIdx) {

n->setVisible(true);

}

else {

n->setVisible(false);

}

}

break;

case 11:

DataManager::setSceneNum(0);

//CCDirector::sharedDirector()->replaceScene(StartGame::scene());

for (int i = 1; i < 14; i++) {

CCNode* n1 = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i + 100);

if (i == sprIdx) {

n1->setVisible(true);

}

else {

n1->setVisible(false);

}

}

//CCDirector::sharedDirector()->replaceScene(StartGame::scene());

break;

case 12:

DataManager::setSceneNum(1);

for (int i = 1; i < 14; i++) {

CCNode* n1 = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i + 100);

if (i == sprIdx) {

n1->setVisible(true);

}

else {

n1->setVisible(false);

}

}

break;

case 13:

DataManager::setSceneNum(2);

//getChildByTag(963)->setVisible(true);

//CCDirector::sharedDirector()->replaceScene(StartGame::scene());

for (int i = 1; i < 14; i++) {

CCNode* n1 = getChildByTag(100)->getChildByTag(101)->getChildByTag(i)->getChildByTag(i + 100);

if (i == sprIdx) {

n1->setVisible(true);

}

else {

n1->setVisible(false);

}

}

break;

default:

break;

}

/*DataManager::getHeroNum();

xuanding->setVisible(true);*/

}

以上就是关于pos机错误代码gf,scrollView滚动视图实现商城模块的知识,后面我们会继续为大家整理关于pos机错误代码gf的知识,希望能够帮助到大家!

转发请带上网址:http://www.poszjia.com/newsone/83840.html
上一篇:汕头pos机批发 下一篇:最新封停pos机

你可能会喜欢:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 babsan@163.com 举报,一经查实,本站将立刻删除。