Sto facendo un gioco e voglio che il cuore sembri battere. Il mio approccio è avere due immagini di un cuore. Uno è più grande dell'altro. Ne ho uno come UIButton (perché per iniziare il gioco voglio fare clic sul cuore per farlo), e l'altra versione più grande del cuore è come UIImageView. Finora ce l'ho, quindi il cuore cambia dimensione ogni secondo, ma voglio che sia più realistico. Ad esempio, ogni secondo, cambierà nel cuore grande e indietro (ma non istantaneamente, quindi è chiaramente visibile). Come posso fare questo? Qui è il mio codice:Come posso simulare un cuore pulsante?
PlayViewController.h
#import <UIKit/UIKit.h>
@interface PlayViewController : UIViewController
{
IBOutlet UIButton *heartButton;
IBOutlet UIImageView *heartBig;
NSTimer *heartBeat;
}
@end
PlayViewController.m
#import "PlayViewController.h"
@interface PlayViewController()
@end
@implementation PlayViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
heartBig.hidden = YES;
heartBeat = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(beatHeart) userInfo:nil repeats:YES];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)beatHeart
{
if(heartBig.hidden == true)
heartBig.hidden = false;
else
heartBig.hidden = true;
}
@end
Un cuore non diventa semplicemente più grande e più piccolo, ma una parte batte l'altra. Ad esempio, prova 3 immagini - una "normale", una con il lato sinistro più grande, una con il lato destro più grande. –
@HotLicks - Si presume che si stia riferendo a un cuore di mammiferi :-) –
Anche se è un cuore a forma di cuore, l'animazione multifase sembrerà più realistica. –