2010-07-06 24 views

Trả lời

2

Bạn có thể sử dụng hành động [CCScaleTo ..] đơn giản hoặc nếu bạn muốn tạo "hiệu ứng" của riêng mình, bạn có thể nâng cấp CCFiniteTimeAction. Tôi muốn là người đầu tiên:

CCSprite * sprite = ...; // create the sprite. 
sprite.anchorPoint = ccp(0.5, 0.5); center the pivot 
id myAction = [CCRepeatForEver actionWithActions:[CCScaleTo actionWithDuration:0.5 scaleX:2.0 ScaleY:2.0],[CCScaleTo actionWithDuration:0.5 scaleX:0.5 ScaleY:0.5], nil]; 
[sprite runAction:myAction]; 

sử dụng CCEase để làm cho hình ảnh động phi tuyến

id myAction = [CCRepeatForEver actionWithActions:[CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:0.5 scaleX:2.0 ScaleY:2.0] rate:2.0],[CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:0.5 scaleX:0.5 ScaleY:0.5] rate:2.0], nil]; 

bài này có thể chứa lỗi. nhưng tôi hy vọng bạn hiểu cách để đi đến mục tiêu.

14

Vì bài đăng trước có chứa lỗi cú pháp. Để chính xác hơn, tôi đăng mã hoạt động:

CCSprite * sprite = ...; // create the sprite. 
id scaleUpAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:1 scaleX:1.0 scaleY:1.0] rate:2.0]; 
id scaleDownAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:0.5 scaleX:0.8 scaleY:0.8] rate:2.0]; 
CCSequence *scaleSeq = [CCSequence actions:scaleUpAction, scaleDownAction, nil]; 
[sprite runAction:[CCRepeatForever actionWithAction:scaleSeq]]; 
+0

chỉ hoạt ảnh này một lần? – Swastik

Các vấn đề liên quan