2011-07-04 34 views
5

Tôi cảm thấy ngớ ngẩn khi đặt câu hỏi này, nhưng tôi không thể tìm thấy câu trả lời rõ ràng ở bất kỳ đâu (hoặc nhiều câu trả lời) vì vậy tôi cảm thấy tôi phải hỏi. Có ai ngoài kia có thể giải thích rõ ràng cách parallaxRatio của CCParallaxNode hoạt động không?CCParallaxNode parallaxRatio (giải thích)

Tôi đã kiểm tra nguồn của CCParallaxNode và nó không giải thích chút nào. Tôi đã tìm kiếm trên internet và stackOverflow rộng rãi. Tôi đã cố gắng làm thử nghiệm và lỗi cũ tốt. Tôi vẫn còn bối rối.

[parallaxLayer addChild:backgroundEffect_subtleRed z:100 parallaxRatio:ccp(0.5, 0.5) positionOffset:backgroundEffect_subtleRed.position]; 

Trong đoạn mã này, tôi đang cố gắng thêm một bộ phát hạt vào parallaxLayer và di chuyển nó giống như bạn mong đợi một đối tượng trên một lớp thị sai di chuyển. Thật không may tôi không thấy các hạt ở tất cả. Tôi đã có vấn đề này bất cứ lúc nào tôi cố gắng thêm bất cứ điều gì vào một parallaxNode khi tôi muốn nó di chuyển. Tôi đã sử dụng CCParallaxNode để tạo các lớp giao diện người dùng tĩnh, nhưng không thể sử dụng chúng cho những gì chúng được xây dựng để làm.

Tóm tắt:

parallaxRatio mất CGPoint. Những gì nổi trong CGPoint áp dụng cho? Có phải tỷ số của x và y liên quan đến cửa sổ không? Có phải họ (parallaxLayerMovementInRelationTo, parentNode) không? Một đoạn mã mẫu làm việc sẽ rất hữu ích.

Cảm ơn bạn.

Trả lời

13

Để trích từ một cuốn sách cocos2d tôi sở hữu:

[paraNode addChild:para1 z:1 parallaxRatio:CGPointMake(0.5f, 0) positionOffset:topOffset]; 
    [paraNode addChild:para2 z:2 parallaxRatio:CGPointMake(1, 0) positionOffset:topOffset]; 
    [paraNode addChild:para3 z:4 parallaxRatio:CGPointMake(2, 0) positionOffset:midOffset]; 
    [paraNode addChild:para4 z:3 parallaxRatio:CGPointMake(3, 0) positionOffset:downOffset]; 

"The CCParallaxNode được tạo ra giống như bất kỳ nút khác, nhưng con của nó được bổ sung bằng một initializer đặc biệt Với ​​nó, bạn xác định tỷ lệ sai, đó là. một CGPoint được sử dụng như một hệ số cho bất kỳ chuyển động nào của CCParallaxNode Trong trường hợp này, para1 sẽ di chuyển ở một nửa tốc độ, para2 ở tốc độ bình thường, para3 với tốc độ gấp đôi của CCParallaxNode, và cứ thế "

Về cơ bản, tỷ lệ của nó mà các lớp riêng lẻ được di chuyển liên quan đến chuyển động của toàn bộ CCParallaxNode.

+0

Cảm ơn bạn, điều đó khá rõ ràng. –

+0

Điều duy nhất làm tôi bối rối là phao thứ hai luôn bằng không ... Ít nhất nó mang lại cho tôi một kiến ​​thức làm việc đủ tốt cho đến bây giờ. –

+2

Nó chỉ nói rằng không di chuyển bất kỳ nút con nào dọc theo trục y. Trong ví dụ này, chuyển động duy nhất được phép là chuyển động trên trục x. Nó nói rằng ngay cả khi CCParallaxNode chính di chuyển dọc theo trục y, các nút con không được di chuyển dọc theo trục y. Bạn được tự do thay đổi nó. –