У меня есть класс Tile, который является подклассом SKShapeNode.
@interface Tile : SKShapeNode
и я создаю экземпляр класса следующим образом:
// Tile.h
-(instancetype) addHiddenTileToSpace:(NSString *)letter withIndex:(int)i withPositionInWord:(int)p;
В моем файле реализации у меня есть
// Tile.m
-(instancetype) addHiddenTileToSpace:(NSString *)letter withIndex:(int)i withPositionInWord:(int)p{
if(self == [super init] ){
self.name = @"Tile";
// self.hidden = YES;
if (p == 0) {
self.firstLetter = YES;
}
else{
self.firstLetter = NO;
}
self.positionInAnswer = i;
self.character = letter;
[self setPath:CGPathCreateWithRoundedRect(CGRectMake(0, 0, 60, 60), 4, 4, nil)];
self.strokeColor = self.fillColor = [UIColor colorWithRed:66.0f/255.0f
green:74.0f/255.0f
blue:84.0f/255.0f
alpha:1];
SKLabelNode *characterNode = [[SKLabelNode alloc] initWithFontNamed:@"Avenir-Medium"];
characterNode.text = [letter uppercaseString];
characterNode.fontSize = 40;
characterNode.fontColor = [UIColor colorWithRed:216.0f/255.0f
green:216.0f/255.0f
blue:216.0f/255.0f
alpha:1];
characterNode.position = CGPointMake(30, 15);
[self addChild:characterNode];
}
return self;
}
Проблема в том, что я хочу анимировать/масштабировать этот узел, но он масштабируется от координат (0,0) узла, а не от его центра. Я читал в другом месте, что я должен использовать метод + (instancetype)shapeNodeWithPath:(CGPathRef)path
centered:(BOOL)centered
и установить центр в YES
Однако в моем вышеприведенном методе создания экземпляра я не уверен, как инициализировать SKShapeNode с помощью метода shapeNodeWithPath. или есть другой способ установить Tile.center = YES;