Question

J'essaie d'obtenir mon Sprit pour bouger mais il ne bouge pas!Je suis en utilisant cocos2d v2.1 beta 2 et iOS6 c'est le code que j'utilise pour déplacer mon sprite, ce qui ne va pas avec ça?

#import "CCTouchDispatcher.h"
 CCSprite *faceeater;

 -(id) init
 {

if( (self=[super init]) ) {
}


CCSprite* faceeater = [CCSprite spriteWithFile:@"fe.png"];
faceeater.position =  ccp( 200, 300 );
[self addChild:faceeater];
[self schedule:@selector(nextFrame:)];

[[CCDirector sharedDirector] touchDispatcher];

self.isTouchEnabled = YES;

  return self;

 }



 - (void) nextFrame:(ccTime)dt {
faceeater.position = ccp( faceeater.position.x + 100*dt, faceeater.position.y );
if (faceeater.position.x > 480+32) {
    faceeater.position = ccp( -32, faceeater.position.y );
}
}
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
return YES;
}

- (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint location = [self convertTouchToNodeSpace: touch];

[faceeater stopAllActions];
[faceeater runAction: [CCMoveTo actionWithDuration:1 position:location]];
 }

Je peux voir le sprite mais peu importe ce que je ne bouge pas.Merci.

Était-ce utile?

La solution

On dirait que vous devez changer

CCSprite* faceeater = [CCSprite spriteWithFile:@"fe.png"];

à

faceeater = [CCSprite spriteWithFile:@"fe.png"];

On dirait que vous avez deux différents CCSPRITE * Faceater ici, un local à init, et un défini dans votre mise en œuvre. un ici:

@implementation HelloWorldLayer
{
CCSprite* faceeater ;
}

Autres conseils

est la méthode NexTrame en cours d'exécution?Vérifiez avec un point d'arrêt.

CCTOUCHANGE est-il exécuté?Vérifiez avec un point d'arrêt.

Est-ce qu'un autre code définit la position du sprite?Exécutez-vous peut-être une méthode CCMovexx chaque image?

Remarque: Si vous mettez à jour la position manuellement dans NextFrame et exécutez une action CCMOVETO en même temps, les résultats peuvent être imprévisibles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top