Пока я реализую игру, я просто перед делом, чей действительно легкий, я думаю, но не знаю, как это исправить. Я немного нового в Objective-C, как вы могли видеть мою репутацию :(Получить мгновенное значение CABasicAnimation
Проблема заключается в том, у меня есть анимация, которая работает правильно Вот код:.
CABasicAnimation * bordgauche = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
bordgauche.fromValue = [NSNumber numberWithFloat:0.0f];
bordgauche.toValue = [NSNumber numberWithFloat:749.0f];
bordgauche.duration = t;
bordgauche.repeatCount = 1;
[ImageSuivante.layer addAnimation:bordgauche forKey:@"bordgauche"];
И я . хотите получить текущую позицию моего образа Так я использую:.
CALayer *currentLayer = (CALayer *)[ImageSuivante.layer presentationLayer];
currentX = [(NSNumber *)[currentLayer valueForKeyPath:@"transform.translation.x"] floatValue];
Но я не понимаю мгновенно я один раз «Current = 0,0000», которая является начальным значением, когда я использую nslog для печати, но не остальные после. Я не знаю, как получить мгновенную позицию моего i mage, currentX, все время.
Ожидаю, что я был поддающимся. Спасибо за вашу помощь :)
Как я могу использовать C ADisplayLink? Как это работает ? Поскольку мне удается делать то, что я хочу делать, но с таймером, но когда ваше устройство отстает или получает sms, таймер задерживается, но работает другая анимация, поэтому это не так. – user2057209
CADisplayLink - это таймер, подобный NSTimer, но с Основное различие: он перегружен до частоты обновления экрана iPhone. Именно поэтому он используется в такой графической среде, как Cocos2d. – nzs
Я попробую с этим. Спасибо =) – user2057209