così la mia versione attuale si presenta così: Animation Movieanimato punto più volte e in modo più naturale
io sono abbastanza nuovo per core-animazioni, quindi quello che cerco di realizzare è che ci sono più punti, come quello attuale, muovendo dalla scatola di sinistra in vari angoli, altezze e velocità fuori di esso, proprio come una macchina da palla da tennis.
il primo problema è, che il mio "palla" non sembra che venga afferrato dalla gravità e anche la velocità in un primo momento non è abbastanza veloce.
anche, come fare questa animazione più volte con variando le distanze tra l'inizio.
se qualcosa non è chiaro, si prega di lasciare un commento.
il mio codice corrente:
- (void)loadView {
[super loadView];
self.view.backgroundColor = [UIColor lightGrayColor];
CGPoint startPoint = CGPointMake(20, 300);
CGPoint endPoint = CGPointMake(300, 500);
UIBezierPath *trackPath = [UIBezierPath bezierPath];
[trackPath moveToPoint:startPoint];
[trackPath addQuadCurveToPoint:endPoint controlPoint:CGPointMake(endPoint.x, startPoint.y)];
CALayer *point = [CALayer layer];
point.bounds = CGRectMake(0, 0, 20.0, 20.0);
point.position = startPoint;
point.contents = (id)([UIImage imageNamed:@"point.png"].CGImage);
[self.view.layer addSublayer:point];
CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
anim.path = trackPath.CGPath;
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
anim.repeatCount = HUGE_VALF;
anim.duration = 2.0;
[point addAnimation:anim forKey:@"movepoint"];
CALayer *caseLayer = [CALayer layer];
caseLayer.bounds = CGRectMake(0, 0, 140.0, 150.0);
caseLayer.position = startPoint;
caseLayer.contents = (id)([UIImage imageNamed:@"case.png"].CGImage);
[self.view.layer addSublayer:caseLayer];
}
Suggerirei che si guarda utilizzando [cocos2d/box2d] (http://www.cocos2d-iphone.org/) per eseguire il "animazione "come una simulazione fisica. Questo è quello che sembra che dovrebbe essere, se vuoi la gravità e il movimento delle particelle realistici. – aroth
penso di non aver bisogno di una tale dipendenza. è solo per una vista singola (e non molto importante) nella mia applicazione. – choise
Dato che stai cercando di incorporare la fisica di base alla palla, l'utilizzo di CADisplayLink e l'animazione della palla cambieranno ripetutamente la sua posizione in modo accettabile? Qualcuno ha qualcosa contro questa soluzione? –