2012-03-21 18 views
0

を使用してCCLabelTTFのアニメーション:トラブル私は次のコードを持って不透明プロパティ

CCLabelTTF *start = [CCLabelTTF labelWithString:@"What Car was that?" fontName:@"Marker Felt" fontSize:32]; 
start.position = ccp(size.width * 1.5/4, size.height * 3/4); 
[start setOpacity:0.0]; 
[self addChild:start]; 

[self fadeText:start duration:1.5 curve:0 x:0 y:0 alpha:255.0]; 

、ここではfadeTextが定義されている方法です。効果はアニメーションなしで行われ、何らかの理由で

- (void)fadeText:(CCLabelTTF *)progress duration:(NSTimeInterval)duration 
      curve:(int)curve x:(CGFloat)x y:(CGFloat)y alpha:(float)alpha 
{ 
    // Setup the animation 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:duration]; 
    [UIView setAnimationCurve:curve]; 
    [UIView setAnimationBeginsFromCurrentState:YES]; 

    // The transform matrix 
    progress.opacity = alpha; 
    //[progress setOpacity:alpha]; 
    // Commit the changes 
    [UIView commitAnimations]; 
} 

、テキストが表示されます(したがって不透明度が255に変更されます)が、アニメーション化されません!

答えて

0

アルファの範囲は0〜1です。255を指定すると、1にすばやく到達し、そこにとどまります。ちょうどalpha:1を渡すとうまくいくはずです。

0

CCFadeTo機能を使用して、CCLabelTTFをフェードインすることができます。

id fade = [CCFadeTo actionWithDuration:1 opacity:200]; 

ラベルにrunActionとしてこのフェードアニメーションを付けます。

関連する問題