【问题标题】:Curve Sprite Movement COCOS2D曲线精灵运动 COCOS2D
【发布时间】:2011-03-18 20:29:05
【问题描述】:

我正在尝试通过触摸拖动以等距曲线方式移动精灵位置,但没有运气。到目前为止,我没有运气使用以下代码

-(BOOL) ccTouchBegan:(UITouch*)touch withEvent:(UIEvent *)event
{
lastTouchLocation = [MultiLayer locationFromTouch:touch];   
return YES;
}

-(void) ccTouchMoved:(UITouch*)touch withEvent:(UIEvent *)event
{
CGPoint currentTouchLocation = [MultiLayer locationFromTouch:touch];
moveTo = ccpSub(lastTouchLocation, currentTouchLocation);
lastTouchLocation = currentTouchLocation;
} 

-(void) update:(ccTime)delta 
{       
CCSprite* sprite = [sprites objectAtIndex:1];
if (moveTo.x != 0){
    float X = sprite.position.x + moveTo.x;
    float Y =  sprite.position.y + (pow(X,2));
    sprite.position = CGPointMake(X, Y);
}
}

我试图模拟的曲线方式是 y=x^2。这可能吗? 提前致谢!

【问题讨论】:

    标签: math cocos2d-iphone sprite game-physics


    【解决方案1】:

    是的,这是可能的。您可以在尝试时手动执行此操作,但最好使用内置解决方案。 cocos2d 引擎中有一个 CCJumpTo 和 CCJumpBy 动作。它们是为抛物线运动而创建的。使用它们

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 2011-11-05
      • 1970-01-01
      相关资源
      最近更新 更多