С полным комплиментом позвольте мне начать с объявления, что я новичок в программировании для iPhone. Поэтому я хотел бы попросить помощи в решении вопроса о том, как реализовать анимацию, когда «а» шар случайно падает с верхней части экрана iPhone. Атрибут мяча таков, что он имеет разные размеры, скорость и тоже может отскакивать, т. Е. Также происходит столкновение.
Я пытаюсь использовать только изображение шара, и я добавил изображение шара через Interface Builder (IB) и подключил UIImageView к владельцу файлов в IB, и я безуспешно пытался получить доступ к изображению программно, добавляя Ключевое слово IBOutlet для файла .h (см. Код .h и .m ниже).
Когда я запускаю код, все, что я получаю, это изображение, появляющееся и мгновенно исчезающее. как заставить этот шар падать случайно при некотором скачке или столкновении.
Если быть точным, я бы хотел, чтобы анимация, подобная той, которая была получена в игре iPhone, падала шарики ... когда шарики падали и все еще отскакивали.
Заранее спасибо за помощь
CHEERS !!
***The .h file***
@interface TestBallsViewController : UIViewController {
IBOutlet UIImageView *ball;
CGPoint ballMovement;
double size;
double speed;
}
@property(nonatomic, retain)IBOutlet UIImageView *ball;
- (void)initializeTimer;
- (void)animateBall:(NSTimer *)theTimer;
**The .m file**
@implementation TestBallsViewController
@synthesize ball;
- (void)dealloc {
[ball release];
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
ballMovement = CGPointMake(2,2);
[self initializeTimer];
}
- (void)initializeTimer
{
float theInterval = 0.3;
[NSTimer scheduledTimerWithTimeInterval:theInterval target:self
selector:@selector(animateBall:) userInfo:nil repeats:YES];
}
- (void)animateBall:(NSTimer *)theTimer
{
ball.center = CGPointMake(ball.center.x+ballMovement.x,
ball.center.y+ballMovement.y);
int startX =arc4random()%100;
int endX = arc4random()%320;
ball.frame= CGRectMake(startX, -100, 15.0 * size, 15 * size);
ball.frame = CGRectMake(endX, 480, 15.0 * size, 15.0 * size);
if(ball.center.x > 300 || ball.center.x < 20) ballMovement.x =
- ballMovement.x;
if(ball.center.y > 440 || ball.center.y < 40) ballMovement.y =
- ballMovement.y;
}