0

飛行制御ゲームのような効果を得ようとしています。ユーザーが画面上で指をドラッグすると、そのデータが配列に格納され、アイテムは指が離された場所までそのパスをたどります。

私はこれが機能するためのコードを持っています。私の問題は、ゲームのように安定したペースにしたいということです。スプライトが動くと、指を動かす速さによって速度が異なります。

任意の助けをいただければ幸いです。

それが私のCCMoveToアクションに関係していることはかなり確信していますが、これを行う他の方法は本当に考えられません。

void WavePrototypeInterface::ccTouchesBegan(CCSet* touches, CCEvent* event)
{
        while (movementPath->count() != 0)
        {
        movementPath->removeControlPointAtIndex(0);
        }
     index=0;
    this->stopAllActions();
 }  

void WavePrototypeInterface::ccTouchesMoved(CCSet* touches, CCEvent* event)
{
      CCTouch* touch = (CCTouch*)( touches->anyObject() );
    CCPoint location = touch->getLocationInView();
    location = CCDirector::sharedDirector()->convertToGL(location);

    movementPath->addControlPoint(location);

    int xValue = movementPath->count();

}

void WavePrototypeInterface::ccTouchesEnded(CCSet* touches, cocos2d::CCEvent* event)
{
if(!movementPath->count()<=0)
    {
        goToPointWithIndex();

    }
}

void WavePrototypeInterface::goToPointWithIndex()
{
  CCPoint toPoint = movementPath->getControlPointAtIndex(index);

   if(index <  movementPath->count())
   {
       index++;
       sprite->setPosition(toPoint);

       CCDelayTime * delay = CCDelayTime::create(0.1);
       CCCallFunc *func = CCCallFunc::create(this, callfunc_selector(WavePrototypeInterface::goToPointWithIndex));
       CCSequence * seq = CCSequence::createWithTwoActions(delay, func);
       this->runAction(seq);
    }
}
4

2 に答える 2