2010-11-19 39 views
20

Làm cách nào để sử dụng phông chữ TTF tùy chỉnh trong ứng dụng iPhone Cocos2d của tôi?Sử dụng phông chữ tùy chỉnh trong Cocos2d

+0

Tôi đã thực hiện tất cả điều này và không thể làm cho thiết bị hoạt động trên thiết bị, CHỈ trên trình mô phỏng! Tôi làm cách nào để thiết bị hoạt động trên thiết bị? –

+0

Tôi đã đăng Giải đáp thắc mắc giải quyết hầu hết các cạm bẫy phát sinh khi sử dụng phông chữ tùy chỉnh trong cocos2d. Kiểm tra xem bạn có gặp sự cố khi thêm phông chữ tùy chỉnh vào dự án của mình hay không. (http://stackoverflow.com/questions/14508675/how-can-i-add-a-font-to-my-cocos2d-ios-project-and-use-it-with-a-cclabelttf) – RLH

Trả lời

54

Tôi đã tìm kiếm điều này trong một thời gian và quyết định đăng câu hỏi và câu trả lời cho những người muốn triển khai.

Giải pháp khá dễ dàng.

  1. Tìm phông chữ bạn muốn và tải xuống chúng. This website có một bộ sưu tập lớn các phông chữ miễn phí.

  2. Thêm tệp phông chữ vào dự án của bạn. alt text

  3. Thêm tên phông chữ vào tệp info.plist của bạn bằng cách sử dụng mảng dưới đây làm ví dụ.

  4. Tìm tên phông chữ; Nhấp đúp vào tệp phông chữ và sử dụng tên phông chữ được hiển thị trong tiêu đề của cửa sổ. Trong ví dụ này nó là "Action Man"

alt text

Để sử dụng phông chữ tên theo cách bạn bình thường:

CCLabel* myLabel = [CCLabel labelWithString:@"Some Text" fontName:@"Action Man" fontSize:18]; 

Thêm phần này vào tập tin info.plist của bạn:

<key>UIAppFonts</key> 
<array> 
    <string>Action Man Bold.ttf</string> 
    <string>AdineKirnberg-S.ttf</string> 
</array> 
+1

Tại sao làm cho đây là một QA Cocos2D? UIAppFonts hoạt động theo cách tương tự trong bất kỳ ứng dụng iOS cũ nào iOS> = 3.2.2 –

+0

Tôi muốn thêm rằng phương thức này cũng hoạt động với .ttc :) – magorich

18

Trong Cocos2D, bạn có thể bao gồm tệp phông chữ với tài nguyên của mình và sau đó trong fontName: chỉ cần cung cấp tên tệp. Ví dụ:

CCLabelTTF *label = [CCLabelTTF labelWithString:@"whatever" fontName:@"FONTNAME.ttf" fontSize:18]; 

Điều này thường dễ hơn phương pháp mà Hanaan đã đăng.

Bạn nên sử dụng cách viết hoa tên chính xác như tên tệp.

Bạn không cần thêm phông chữ vào info.plist nếu bạn chỉ sử dụng phông chữ trong các bit Cocos2D.

Nếu, như Bị nhầm lẫn, bạn thấy rằng phông chữ hoạt động trên trình giả lập chứ không phải thiết bị, có thể đó là lỗi viết hoa tên tệp. IPhone là trường hợp nhạy cảm, giả lập là không.

+7

Đây không phải là trường hợp trong cocos2d 2.0, CCLabelTTF sẽ chỉ sử dụng UIFont để giải quyết phông chữ mà nó muốn.Điều này đòi hỏi phải thêm TTF vào Info.plist. – bshirley

+0

@ bshirley, tôi cũng phải đối mặt với cùng một vấn đề trong cocos2d 2.0, cho tôi biết nơi để thêm tên tập tin phông chữ ttf trong plist. – Guru

+1

@Raj - câu trả lời được đưa ra ở trên. Thêm TTF vào dự án dưới dạng tài nguyên. Thêm tệp phông chữ vào info.plist, khóa UIAppFonts là một mảng có giá trị chuỗi (tức là "FooBar.ttf"). Đảm bảo bạn sử dụng TÊN FONT trong mã chứ không phải tên tệp. Chọn và kiểm tra phông chữ trong Mac OS để thu thập tên phông chữ thực tế được mã hóa trong tệp. (có thể là "Foo Bar BOLD") – bshirley

0

Vì những câu trả lời này đã lỗi thời, tôi chắc chắn câu hỏi/câu trả lời của tôi sẽ giúp tất cả những câu hỏi đó.

Importing fonts for cocos2dx iOS

này là dành cho iOS và Android nền tảng font chữ nhập khẩu, chỉ với một dòng mã!

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