b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

x笔记 ccTouchesBegan、ccTouchesMoved、ccTouchesEnded

电脑杂谈  发布时间:2016-05-17 09:00:33  来源:网络整理

你是否正在寻找关于cctouchesbegan的内容?让我把最吸引人的东西奉献给你:

#ifndef __MUTITOUCHTEST_H__ #define __MUTITOUCHTEST_H__ #include MutiTouchTestLayer : public CCLayer { public: bool init(); virtual void registerWithTouchDispatcher(void); virtual void cctouchesbegan(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); virtual void ccTouchesMoved(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); virtual void ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); virtual void ccTouchesCancelled(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); CREATE_FUNC(MutiTouchTestLayer) }; class MutiTouchTestScene : public TestScene { public: virtual void runThisTest(); }; #endif /* __MUTITOUCHTEST_H__ */

ccColor3B s_TouchColors[CC_MAX_TOUCHES] = { ccYELLOW, ccBLUE, ccGREEN, ccRED, ccMAGENTA };

TouchPoint : public CCNode { public: TouchPoint() { setShaderProgram(CCShaderCache::sharedShaderCache()->programForKey(kCCShader_PositionTextureColor)); } virtual void draw() { ccDrawColor4B(m_TouchColor.r, m_TouchColor.g, m_TouchColor.b, 255); glLineWidth(10); ccDrawLine( ccp(0, m_pTouchPoint.y), ccp(getContentSize().width, m_pTouchPoint.y) ); ccDrawLine( ccp(m_pTouchPoint.x, 0), ccp(m_pTouchPoint.x, getContentSize().height) ); glLineWidth(1); ccPointSize(30); ccDrawPoint(m_pTouchPoint); } void setTouchPos(const CCPoint& pt) { m_pTouchPoint = pt; } void setTouchColor(ccColor3B color) { m_TouchColor = color; } static TouchPoint* touchPointWithParent(CCNode* pParent) { TouchPoint* pRet = new TouchPoint(); pRet->setContentSize(pParent->getContentSize()); pRet->setAnchorPoint(ccp(0.0f, 0.0f)); pRet->autorelease(); return pRet; } private: CCPoint m_pTouchPoint; ccColor3B m_TouchColor; };

MutiTouchTestLayer::init() { if (CCLayer::init()) { setTouchEnabled(true); return true; } return false; } CCDictionary s_dic;

MutiTouchTestLayer::registerWithTouchDispatcher(void) { CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0); }

void MutiTouchTestLayer::cctouchesbegan(CCSet *pTouches, CCEvent *pEvent) { CCSetIterator iter = pTouches->begin(); for (; iter != pTouches->end(); iter++) { CCTouch* pTouch = (CCTouch*)(*iter); TouchPoint* pTouchPoint = TouchPoint::touchPointWithParent(this); CCPoint location = pTouch->getLocation(); pTouchPoint->setTouchPos(location); pTouchPoint->setTouchColor(s_TouchColors[pTouch->getID()]); addChild(pTouchPoint); //将点对象及其id加到字典中 s_dic.setObject(pTouchPoint, pTouch->getID()); } }

void MutiTouchTestLayer::ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent) { CCSetIterator iter = pTouches->begin(); for (; iter != pTouches->end(); iter++) { CCTouch* pTouch = (CCTouch*)(*iter); //通过id从字典中找出相应的点对象 TouchPoint* pTP = (TouchPoint*)s_dic.objectForKey(pTouch->getID()); CCPoint location = pTouch->getLocation(); //然后赋值进去 pTP->setTouchPos(location); } }

MutiTouchTestLayer::ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent) { CCSetIterator iter = pTouches->begin(); for (; iter != pTouches->end(); iter++) { CCTouch* pTouch = (CCTouch*)(*iter); TouchPoint* pTP = (TouchPoint*)s_dic.objectForKey(pTouch->getID()); removeChild(pTP, true); s_dic.removeObjectForKey(pTouch->getID()); } }

MutiTouchTestLayer::ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent) { ccTouchesEnded(pTouches, pEvent); } void MutiTouchTestScene::runThisTest() { MutiTouchTestLayer* pLayer = MutiTouchTestLayer::create(); addChild(pLayer, 0); CCDirector::sharedDirector()->replaceScene(this); }

x笔记 ccTouchesBegan、ccTouchesMoved、ccTouchesEnded

以上就是关于cctouchesbegan的全部内容,相信你一定会非常满意,。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-5227-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...