2

スプライトに触れたときにタッチイベントを取得しようとしています。多くのリンクやチュートリアルを試しましたが、機能していません。Xcode IDE と Cocos2dx 2.1.4 を使用しています。これは、理想的にはcppファイルでタッチイベントを取得する方法です。

bool ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent){

}

スプライトにタッチイベントを実装しようとしています。私はこのようなスプライトを作成しました:

    CCSize size = CCDirector::sharedDirector()->getWinSize();
    CCSprite *backGroundSprint = CCSprite::create("bg.jpg");
    CCSize imageSize = backGroundSprint->getContentSize();
    backGroundSprint->setScaleX(size.width/imageSize.width);
    backGroundSprint->setScaleY(size.width/imageSize.height);
    backGroundSprint->setAnchorPoint(ccp(0, 0));
    this->addChild(backGroundSprint,0);

私もこれを行うことでタッチを有効にしました:

this->setTouchEnabled(true);

bool HelloWorld::init(){

そして私の.hファイルにはこれがあります

公衆:

virtual void onEnter();
virtual void onExit();
virtual bool ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
virtual void ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
virtual void ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
4

3 に答える 3

1

タッチを有効にして.cppファイルに登録します

this->setTouchEnabled(true);
CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0);
于 2013-12-13T09:10:55.960 に答える