我有一个Sprite对象定义如下:
@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
}
在包含视图的initWithCoder函数中,我使用:
实例化它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;
我正确地看到了一个绿色的矩形。 现在我想移动它:我定义了一个像这样的moveTo方法
- (void) moveTo: (CGPoint) p
{
x = p.x;
y = p.y;
}
但是当我打电话时没有任何反应......我不知道如何重绘我的对象
任何人都可以帮助我吗?
提前致谢! 角
答案 0 :(得分:4)
你怎么看绿色的矩形?你在哪里画画的? NSObject无法画出......
您可以从UIView派生它并将您的moveTo更改为:
- (void) moveTo: (CGPoint) p
{
self.frame.origin = p;
[self setNeedsDisplay];
}
答案 1 :(得分:1)
NSObject不是可绘制的对象。如果你想拥有一个可绘制的对象,你应该使用UIView或其子类,它具有绘制自己的所有方法,如drawRect