2012-02-15 3 views
1

私はスプライトを作成しました。そのスプライトの中に私はこのようなラベルを持っています。Cocos2D iPhone - スプライトの残骸を残して消す

CCLabelTTF *myLabel = [CCLabelTTF 
         labelWithString:text 
         dimensions:CGSizeMake(mySpriteWidth*0.9, mySpriteHeight*0.9) 
         alignment:UITextAlignmentCenter 
         fontName:@"Helvetica Neue" fontSize:20.0f]; 

[myLabel setPosition: CGPointMake((mySpriteWidth/2.0f),(mySpriteHeight/2.0f))]; 
[mySprite addChild: myLabel]; 

このラベルはmySpriteの子です。

そこで私は、このアクション

id fadeOut = [CCFadeOut actionWithDuration:0.4]; 

を使用してスプライトがスプライトが正しくフェードアウトが、ラベルが存在し続けて、傲慢私を見て...

が、これはバグですか、私はフェードアウト何かが欠けている?おかげ


私はフェードを行うために使用するコードはこれです:ラベルにアクションを追加すること

CCSequence *sequence =[CCSequence actions: 
          fadeIn, 
          [CCDelayTime actionWithDuration:2.5], 
          fadeOut, 
          nil]; 


    [mySprite runAction:sequence]; 
// [myLabel runAction:sequence]; 

、それは消えますが、その後、スプライトが画面上にとどまる... :(

答えて

0

フェードが完了した後。それが削除されたとき、あなたは再びそれを使用する。または、あなたがする場合は、その表示を切り替えるために行くされていない場合は、スプライトを削除する必要があります。

私がもし100%わからないんだけどフェードアウトwその内側の意見にエコーエコー。これは、少なくともあなたの問題を中心にあなたを取得する必要CCRGBAProtocol

CCFadeout reference

から継承したオブジェクトに影響を与えます。ラベルをフェードアウトさせたい場合は、getChildByTagを使用してラベルにアクセスして、フェード効果を与えることもできます。

しかし、新しいフェードエフェクトを作成する必要があります。アクションがココスで実装される方法は、2つのオブジェクトが同じアクションを実行できるということです。

+0

私が見ている限り、ラベルはスプライト内のサブオブジェクトなので、ラベルに影響を与えるはずです...私はラベルにフェード効果を加えました。今すぐラベルが移動し、スプライトが続きます... – SpaceDog

+0

フェード効果plzを行う場所にコードを追加できます –

+0

コードを追加しました – SpaceDog

関連する問題