2014-09-13 20 views
10

Tôi có SKLabelNode là con của SKSpriteNode vì tôi đang cố tạo lớp Nút để tạo các nút theo cách dễ dàng hơn. Tôi đã thử một vài điều bằng cách sử dụng điểm neo của SKSpriteNode, nhưng tôi không hoàn toàn hiểu chính xác những gì đang xảy ra. Làm cách nào để căn giữa nhãn vào sprite (nút chính của nó)?Gắn nhãn SKLabelNode trên SKSpriteNode

+0

Nếu bạn hiển thị những gì bạn đã cố gắng, nó sẽ giúp chúng tôi hỗ trợ bạn. –

+2

Cảm ơn bạn đã phản hồi nhanh. Tôi thực sự chỉ tìm ra cách để làm điều đó. Tôi đặt chế độ căn chỉnh (ngang và dọc) của nhãn và nó được căn giữa hoàn toàn ngay bây giờ cho dù văn bản nhãn là bao nhiêu! Tôi sẽ đăng bài dưới đây. – 02fentym

+0

@ 02fentym, chúng tôi muốn bạn sẽ cho thấy giải pháp mã của bạn thay vì chỉ đơn giản là giải thích thực tế bạn đã giải quyết một câu hỏi mà bạn đã hỏi mà không hiển thị giải pháp. – nocarrier

Trả lời

14

Tôi nhận ra cách giải quyết vấn đề này ... đây là những gì tôi đã làm. Hãy nhớ rằng tôi có một lớp được gọi là Button là lớp con của SKSpriteNode.

Trong lớp Button.m tôi có một biến mẫu được gọi là nhãn là SKLabelNode. Tôi thêm nút nhãn làm nút con cho nút rồi đặt chế độ căn chỉnh ngang và dọc thành tâm.

label = [[SKLabelNode alloc] init]; 
[self addChild:label]; 
[label setHorizontalAlignmentMode:SKLabelHorizontalAlignmentModeCenter]; 
[label setVerticalAlignmentMode:SKLabelVerticalAlignmentModeCenter]; 
+1

OK, nhưng làm thế nào để bạn đảm bảo rằng sprite (sprite) nút bên ngoài sẽ đủ lớn cho văn bản? – trojanfoe

8

Điều này sẽ đặt nhãn của bạn trong trung tâm của cảnh trong bộ sprite:

yourLabel.horizontalAlignmentMode = .Center; 
yourLabel.verticalAlignmentMode = .Center 
Các vấn đề liên quan