私は C++ と cocos2d-x の初心者なので、なぜ間違っているのかわかりません。コード
void
MainLayer::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)
{
// Get any touch and convert the touch position to in-game position.
CCTouch* touch = (CCTouch*)pTouches->anyObject();
CCPoint position = touch->locationInView();
position = CCDirector::sharedDirector()->convertToGL(position);
__pShip->setMove(position);
}
これは関数のコードです。
Ship::setMove(CCPoint *newPosition)
{
__move=*newPosition;
}
ご覧のとおり、 CCPointタイプをパラメーターとして使用していますが、位置 ヘッダーで失敗します。
class Ship : public AnimatedObject
{
public:
Ship();
bool init(const char* frameName, CCSpriteBatchNode* pSpriteSheet);
void setMove(CCPoint* newPosition);
void move();
private:
/**
* A CCMoveTo action set in the move() method.
*/
cocos2d::CCFiniteTimeAction* __pMoveAction;
/**
* This value specifies the ship's speed.
*/
float __speed;
/**
* This value specifies position to which the ship should move.
* It's set in touch events callbacks in MainLayer class.
*/
CCPoint __move;
};
私は何を間違っていますか?このコードが CCPoints の変換に失敗するのはなぜですか?