Tôi muốn biết những gì tôi nên sử dụng ở vị trí củaCocos2d - animationwithframes: chậm trễ: phản
animationWithFrames:delay:
và
actionWithAnimation:restoreOriginalFrame:
kể từ khi họ đưa ra một cảnh báo rằng họ đã bị phản đối.
Tôi muốn biết những gì tôi nên sử dụng ở vị trí củaCocos2d - animationwithframes: chậm trễ: phản
animationWithFrames:delay:
và
actionWithAnimation:restoreOriginalFrame:
kể từ khi họ đưa ra một cảnh báo rằng họ đã bị phản đối.
Cocos2d 2.0 sử dụng
CCAnimation
+(id) animationWithSpriteFrames:(NSArray*)frames delay:(float)delay
CCAnimate
+(id) actionWithAnimation: (CCAnimation*)anim
Documents:
http://www.cocos2d-iphone.org/api-ref/2.0.0/interface_c_c_animation.html
http://www.cocos2d-iphone.org/api-ref/2.0.0/interface_c_c_animate.html
Câu trả lời hay, nhưng nó thiếu một chi tiết trong nửa thứ hai của câu hỏi. Cụ thể, bạn cũng phải đặt thuộc tính 'restoreOriginalFrame' của hoạt ảnh để khớp với những gì đã được chỉ định trước đó trong phiên bản không dùng nữa. Xem câu trả lời của Julio dưới đây. (BTW, liên kết doc không còn hoạt động nữa.) – Dalmazio
Thay đổi duy nhất bạn cần làm là sử dụng thuộc tính mới: restoreOriginalFrame.
Remove restoreOriginalFrame từ các nhà xây dựng, sau đó, trong một dòng mới, thiết lập thuộc tính:
animation.restoreOriginalFrame = NO;
Vậy là xong!
Đây là câu trả lời đúng cho phần thứ hai của câu hỏi của OP. Đặt thuộc tính 'restoreOriginalFrame' của hoạt ảnh để khớp với những gì đã được chỉ định trước đây là chi tiết quan trọng mà câu trả lời được chấp nhận bị bỏ qua. – Dalmazio
CCAnimation *sampleAnim = [CCAnimation animationWithAnimationFrames:
sampleAnimFrames delayPerUnit:0.2f loops:7];
Tôi có cùng vấn đề trong dự án tôi sử dụng.
CCSprite *image = [CCSprite spriteWithSpriteFrameName:@"a0001.png"];
image.position = ccp(s.width/2,s.height/2);
[self addChild:image];
image.tag = 1;
NSMutableArray *frames = [[NSMutableArray alloc] init];
for (int i = 1; i <= 10; i++) {
NSString *frameName = [NSString stringWithFormat:@"a%04i.png",i];
[frames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName]];
}
CCAnimation *ani = [CCAnimation animationWithSpriteFrames:frames delay:1.0f/8.0f];
[image runAction:[CCAnimate actionWithAnimation:ani]];
Điều này phù hợp với tôi.
kiểm tra các tệp CCDeprecated.h và .m để tìm hiểu cách mã không dùng nữa nên được viết – LearnCocos2D