2012-06-09 26 views
21

Cocos2d-iphone sử dụng phần mở rộng -hd cho hình ảnh Retina (và các nội dung khác). Các cocos2d Retina guide chỉ nói mơ hồ của "một số không tương thích" về @ 2x:Tại sao người dùng cocos2d-iphone nên tránh sử dụng phần mở rộng tệp @ 2x?

Apple sử dụng các “@ 2x” hậu tố, nhưng cocos2d không sử dụng tiện ích vì một số không tương thích. Thay vào đó, cocos2d có hậu tố riêng của nó: "-hd".

CẢNH BÁO: KHÔNG được khuyến nghị sử dụng hậu tố "@ 2x". Apple xử lý những hình ảnh đó theo cách đặc biệt có thể gây ra lỗi trong ứng dụng cocos2d của bạn.

Tuyệt vời. Tôi cảm thấy được thông báo đầy đủ.

Thông qua số 2-year old bug report regarding @2x Tôi nhận liên kết đến số forum thread that supposedly explains the issues with @2x. Tuy nhiên, nó không. Các gợi ý duy nhất tôi tìm thấy trong đó là có iOS (4.0/4.1) lỗi liên quan đến @ 2x mà tôi cho là không còn có liên quan. Có thể là tôi có thể đã bỏ lỡ một số khía cạnh quan trọng (có một số cuộc nói chuyện về bộ nhớ đệm hoặc lặp lại các vấn đề tải) - chủ đề là rất dài sau khi tất cả.

Tôi muốn biết những vấn đề cụ thể mà nhà phát triển cocos2d gặp phải nếu (s) anh ấy đang sử dụng hậu tố @ 2x cho hình ảnh thay vì -hd?

Vui lòng đưa ra ví dụ cụ thể về những thứ có thể xảy ra hoặc thực sự sẽ sai.

Trả lời

7

Đây dường như là nguyên nhân chính từ liên kết này: http://www.cocos2d-iphone.org/forum/topic/12026

Cụ thể bài này bằng cách riq:

Tôi không biết nếu initWithContentsOfFile đã được cố định, nhưng trong 4.0 nó bị hỏng và nó không hoạt động với @ 2x, ~ mở rộng iphone. imageNamed lưu trữ tất cả các tệp đã tải để nó tiêu thụ nhiều bộ nhớ hơn initWithContentsOfFile Ngoài ra phần mở rộng @ 2x còn làm gì đó (tôi không biết chính xác cái gì) nhưng nó không hoạt động với cocos2d.

Một điểm tốt nữa: Quay lại khi iPhone 4 vừa được phát hành với màn hình võng mạc, tôi chắc chắn một số người dùng Cocos2D đang sử dụng phiên bản cũ hơn khi người dùng đang sử dụng màn hình võng mạc trên phiên bản Cocos2D không hỗ trợ nó, mọi thứ lớn gấp hai lần so với trước đây. Một lần nữa, điều này hiện được cố định nhiều nhất trừ khi bạn đang sử dụng phiên bản đầu tiên của Cocos2D.

Tổng quan, vì vậy có vẻ vấn đề chính là với initWithContentsOfFile từ iOS 4 nhưng chúng đã sửa lỗi này vì tôi sử dụng API chính xác với Cocos2D 2.0-rc2 trong ứng dụng của mình và tôi không gặp bất kỳ vấn đề gì. Tôi sử dụng tất cả các phần mở rộng được chỉ định của Apple cho hình ảnh và mọi thứ hoạt động tốt! :)

+0

Cảm ơn, cuối cùng là một số làm rõ! Mặc dù "không hoạt động OK với cocos2d" vẫn có vẻ hơi mơ hồ với tôi. Nhưng đó có lẽ chỉ là tôi. :) – LearnCocos2D

+0

Câu trả lời của tôi có đủ xứng đáng với tiền thưởng không? : P Tôi thề đó là tất cả các thông tin có về chủ đề này! –

7

Dường như điều này có nền lịch sử.

Điều gì làm cho việc sử dụng đồ họa -hd vẫn đáng giá là việc tải chúng không phụ thuộc vào chức năng của Apple mà được thực hiện khá tốt trong mã khung công tác. So -hd có thể được tải cho iPad ở chế độ Trình mô phỏng iPhone và sử dụng các hình ảnh có độ phân giải cao hơn ở chế độ 2x.

Ngoài ra, tôi không thể tìm thấy thêm bất kỳ lý do nào để không sử dụng @ 2x khi tôi đã xem xét điều này một tuần trước.

Trong trường hợp bạn muốn tất cả chi tiết, có lẽ tốt nhất là bạn nên xóa email.

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