2010-11-26 26 views
0

j'ai un objet Sprite défini comme suit:comment déplacer un objet NSObject vers un point (x, y)?

@interface Sprite : NSObject { 
CGFloat x;      // x location 
CGFloat y;      // y location 
CGFloat r;      // red tint 
CGFloat g;      // green tint 
CGFloat b;      // blue tint 
CGFloat alpha;     // alpha value, for transparency 
} 

Dans la fonction initWithCoder de la vue contenant i instancié à l'aide:

sprite = [[Sprite alloc] init]; 
sprite.x = 50; 
sprite.y = 100; 
sprite.width = 100; 
sprite.height = 200; 
sprite.r = 0.0; 
sprite.g = 1.0; 
sprite.b = 0.0; 

et je vois bien un rectangle vert. Maintenant, je voudrais déplacer: i défini une méthode moveTo comme celui-ci

- (void) moveTo: (CGPoint) p 
{ 
    x = p.x; 
    y = p.y; 
} 

mais quand je l'appelle rien ne se passe ... Je ne sais pas comment redessiner mon objet

peut-elle aider quelqu'un moi?

Merci d'avance! c.

Répondre

1

NSObject ne sont pas des objets étirables. Si vous voulez avoir un objet drawable vous devez utiliser UIView ou sa sous-classe qui ont toutes les méthodes pour dessiner lui-même comme drawRect

4

Comment voyez-vous un rect vert? Où le dessinez-vous? NSObject ne peut pas dessiner ...

Vous pouvez dériver d'un UIView et changer votre moveTo être comme ceci:

- (void) moveTo: (CGPoint) p 
{ 
    self.frame.origin = p; 
    [self setNeedsDisplay]; 
}