2011-02-04 3 views
0

私はccTime.butを移動するためにCCLayer(継承)のスプライトを使用すると、ゲーム開発にcocos2dを使用していますが、非常にゆっくり動きます.iは、(1.0/60)のappirelegate CCDirector setAnimationIntervalに設定されています。 :cocos2dはアニメーションが遅いですか?

-(id) init 
{ 
if ((self = [super init])) 
{ 
    danceSprite = [CCSprite spriteWithFile:@"images.png"]; 
    [self addChild:danceSprite]; 

    // position the sprite in the center of the screen 
    CGSize s = [[CCDirector sharedDirector] winSize]; 
    danceSprite.position = ccp(s.width/2,s.height/2); //CCSprite 
    bg_pos.x = danceSprite.position.x; 
    bg_pos.y = danceSprite.position.y; 
      [self scheduleUpdate]; 
} 
return self; 

}

-(void) update:(ccTime)delta 
{ 
CGPoint pos = danceSprite.position; 
bgX = pos.x; 
//bgX -= 30.0; 


int newX; 
newX = bgX + 1.0 * GAME_SPEED_ADJUSTMENT; 
pos.x = bgX; 


} 

答えて

1

GAME_SPEED_ADJUSTMENT定数/変数

デルタで乗算すると、より速い動きが得られます。マイスタートの設定は、あなたのケースでは1ですので、私はそれがかなりゆっくりと動くことを期待する、常に10

最小です。

だから、最初にこれを試してみてください

newX = oldX +デルタ* GAME_SPEED_ADJUSTMENT

のように見える - 1は、ゲームの難易度を高めるためにこれを使用し、世界的に速く、物事を動かすかもしれません。

これが動作しない場合は、ちょうどはい私は、同じ与えtried..it

+0

....戻ってきて...私はあなたが「それは同じ提供します」何を意味しています –

+0

... 10に1.0を変更?速度の変化は全くありませんか?あなたのスケジュール方法を示してください、あなたは時間間隔を提供していますか? – user387184

+0

psあなたは本当に私が提案したスキーム、すなわち新しいxとyの値を計算するためにdeltaを使うべきです - これはデバイス上で動いている他のタスクとは無関係に特定の速度で動くことを保証します... – user387184

関連する問題