我的游戏中有大约 10 个可拖动对象需要在某些时候从游戏中完全删除,在开始新游戏之前不需要使用这些对象......
目前我说 self.imageView = nil
但是,我以这种方式丢弃的图像越多,游戏就会变得越慢。我相信这是因为图像并没有完全消失,即使它们不在视野范围内,它们也都被放在 (0, 0) 处。
为了提高我的表现,我还能如何摆脱这些图像视图?
这是我将图像添加到视图中的方法:
@interface GameView : UIView
{
UIImage *ball;
}
@property UIImageView *redBall;
-(id)initWithBallImage:(UIImageView *)ball;
@implementation GameView
-(id)initWithBallImage:(UIImageView *)ball
{
self = [super init]
if (self)
{
_redBall = ball;
return self;
}
return nil;
}
-(void)spawnBallWithColor:(BallColor)ballColor intoArray:(NSMutableArray *)array atPoint:(CGPoint)point
{
switch (ballColor) {
case kRedBall:
ball = [UIImage imageNamed:@"redBall.png"];
self.redBall = [[UIImageView alloc] initWithImage:ball];
self.redBall.center = point;
[array addObject:self.redBall];
[self addSubview:self.redBall];
break;
}
//I use the above method in an initWithLevel: method...
然后从视图中删除对象...
[self.redBall removeFromSuperview];