2010-11-26 4 views
0

私は次のようにSpriteオブジェクトが定義されている:を含むビューのinitWithCoder機能において NSObjectを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 
} 

iが使用してインスタンス化:

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; 

およびiが正しく緑色RECTを参照します。 今私はそれを移動したいと思います:私はこの

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

ようmoveToメソッドを定義したが、私は何も起こりません、それを呼び出したときに...私は私のオブジェクト

を再描画する方法がわからない、誰が助けることができます私?

ありがとうございます! c。

答えて

1

NSObjectのは、描画可能オブジェクトではありません。 Drawableオブジェクトを作成したい場合は、drawRectのように描画するすべてのメソッドを持つUIViewまたはそのサブクラスを使用する必要があります

4

緑色の四角形はどのように見えますか?あなたはどこにそれを描きますか? NSObjectのは、あなたがUIViewのからそれを導出し、このようになり、あなたのmoveToを変更することができます...

を描くことはできません。

- (void) moveTo: (CGPoint) p 
{ 
    self.frame.origin = p; 
    [self setNeedsDisplay]; 
} 
関連する問題