画面の上部から鳥の画像が連続して落ちるプログラムを作成しています(「雨が降っている」鳥のように)。個々の鳥ごとにNSTimerを作成するために、UIImageViewサブクラス(「BirdUIImageView」と呼ばれる)を作成しました。ただし、コードを正しく実装する方法(どこに何を配置するかなど)がわかりません。
これが私がViewController.mに持っているコードです:
#import "ViewController.h"
#import "BirdUIImageView.h"
@interface ViewController ()
@end
@implementation ViewController {
BirdUIImageView *_myImage;
}
- (void)viewDidLoad
{
//IMAGE CREATOR TIMER
createImagesTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(createImages) userInfo:nil repeats:YES];
}
//CREATES AN IMAGE
-(void) createImages {
srand(time(NULL));
int random_x_coordinate = rand() % 286;
CGRect myImageRect = CGRectMake(random_x_coordinate, 0.0f, 40.0f, 40.0f);
BirdUIImageView *myImage = [[BirdUIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:@"flake.png"]];
myImage.opaque = YES;
[self.view addSubview:myImage];
_myImage = myImage;
}
そして、これが私がBirdUIImageView.mに持っているコードです。私はこのファイルで何をすべきかについて完全に途方に暮れていますが、私は試みました:
#import "BirdUIImageView.h"
@implementation BirdUIImageView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void)viewDidLoad
{
//FALLING BIRDS TIMER
moveObjectTimer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(moveObject) userInfo:nil repeats:YES];
}
//FALLING BIRDS MOVER
-(void) moveObject {
_myImage.center = CGPointMake(_myImage.center.x, _myImage.center.y +1);
}