여기서 무슨 일이 벌어지고 있는지 이해하는 데 어려움이 있습니다. 현재 CCNode에서 상속받은 "Header"클래스가 있습니다. 이 CCNode 클래스는 CCSprite 및 CCLabelTTF를 포함하여 여러 속성을가집니다. init에서는 이러한 객체를 만들고 위치를 설정합니다. 그런 다음이 머리글 클래스를 내 장면에 포함시키고 장면으로 자식으로 추가합니다. 그러나 레이블 위치가 올바르게 설정되지 않았습니다. 나는이를 추가 할 때 지금CCNode에서 CCLabelTTF의 위치를 설정하고 CCScene에 추가하십시오. [cocos2d v3]
@implementation Header
+(id)node {
return [[self alloc] init];
}
-(id)init {
self = [super init];
if (!self) return(nil);
NSString *rankString = [[GameManager sharedGameManager] getRank];
self.rank = [CCLabelTTF labelWithString:rankString fontName:@"Copperplate-Bold" fontSize:16.0];
self.rank.color = [CCColor blackColor];
self.rank.positionType = CCPositionTypeNormalized;
self.rank.position = ccp(0.35, 0.965);
[self addChild:self.rank];
return self;
}
@end
:
@interface Header : CCNode {
CCButton *settingsButton_;
CCButton *crewButton_;
CCButton *goldButton_;
CCSprite *divider_;
CCLabelTTF *rank_;
CCLabelTTF *userName_;
}
@property (nonatomic, retain) CCButton *settingsButton;
@property (nonatomic, retain) CCButton *crewButton;
@property (nonatomic, retain) CCButton *goldButton;
@property (nonatomic, retain) CCSprite *divider;
@property (nonatomic, retain) CCLabelTTF *rank;
@property (nonatomic, retain) CCLabelTTF *userName;
+ (id)node;
- (id)init;
@end
그리고 Header.m : 그것은 여기
0이 (가) header.h가에 대한 코드의 0으로 내 레이블의 위치 속성을 설정 머리글 CCNode 내 레이어에 위치가 ccp(0.35, 0.965)
에 머 무르지 않고 단지 0,0으로 재설정됩니다.
여기에 누락 된 것이 있습니까?
위치에 큰 값을 입력하십시오. – Guru
iPhone/iPad에서 레이블을 (0.35, 0.965) 픽셀로 표시 할 수 없습니다. 정수 값을 사용하지 않는 이유는 무엇입니까? –
float를 사용할 수는 있지만 (0.35, 0.965) 약 (0,0) ... – Tista81