5

Trong Cocos2d Tôi hiện đang có một phát hạt rất đơn giản khởi tạo như thế này:Cocos2D - Particles theo phát thay vì ở tại vị trí mà họ đã được phát hành

turnEmitter = [[CCParticleFlower alloc] init]; 
    turnEmitter.texture = [[CCTextureCache sharedTextureCache] addImage:@"Pocket.png"]; 
    [self addChild:turnEmitter z:1]; 
    turnEmitter.scale = 0.7f; 
    turnEmitter.positionType = kCCPositionTypeFree; 

Nó chỉ đơn giản là thêm trực tiếp vào lớp gameplay.

phát này sau một sprite xung quanh màn hình theo cách này (xảy ra trong phương thức cập nhật):

turnEmitter.position = turnEmblem.position; 

Bây giờ vấn đề là đuôi của hạt trái đằng sau những động thái phát với emitter, thay vì các hạt phát hành chỉ đơn giản là ở vị trí mà chúng được giải phóng, tạo ra một hiệu ứng thật kỳ lạ và ngu xuẩn.

Điều tôi muốn làm là để các hạt không theo dõi bộ phát sau khi chúng được sinh ra, không may là tôi không thể tìm ra cách làm như vậy.

Như bạn có thể nhìn thấy từ đoạn mã trên tôi đã tìm kiếm xung quanh, và tìm thấy người đó đề nghị thay đổi positionType tài sản của emitter, mặc dù tôi đã thử tất cả các khả năng và nó không giải quyết được vấn đề.

Có ai có bất kỳ ý tưởng nào về điều này có thể là gì không?

+0

"mà đưa ra một thực sự kỳ lạ và ngớ ngẩn hiệu lực tìm kiếm" lol –

+1

Bạn đang đi đúng hướng, thay đổi positionType nên khắc phục vấn đề của bạn, ít nhất là một trong những positionTypes nên. Bạn có chắc là bạn đã thử tất cả các tùy chọn và kiểm tra từng tùy chọn? – LearnCocos2D

+0

Hey :) Có, tôi chắc chắn tôi đã cố gắng sử dụng tất cả các tùy chọn có thể. Thật không may tôi không thể thử nó ra hiện tại nhưng sẽ sau này ngày hôm nay. Tôi sẽ báo cáo lại với các tính chất chính xác mà tôi đã cố gắng sau đó :) Cảm ơn bạn đã dành thời gian để giúp đỡ! – CodingBeagle

Trả lời

8

Bạn có thể thử thay đổi "emitterMode" thành "kCCPositionTypeFree". Tôi đã có một vấn đề tương tự, nơi tôi đã có emitter như một đứa trẻ của một CCNode. CCNode đã được quay, nhưng các hạt và emitter thì không. Trong cùng một cách nó trông ngu ngốc bởi vì ảo tưởng về luân phiên đã bị hủy hoại. Tôi cần phải thiết lập sau đây trên phát của tôi:

emitter.emitterMode = kCCPositionTypeRelative; 
emitter.positionType = kCCPositionTypeRelative; 
+1

emittermode không có gì để làm ở đây. Nó nên được thiết lập hoặc chế độ trọng lực hoặc chế độ bán kính. – zeroliu