Я создаю виртуальный геймпад для своей игры. Он имеет один основной SKSpriteNode с изображением круга и четырьмя дочерними узлами (вверх, вниз, влево, вправо) с изображением. Когда я использую размер по умолчанию для всех, он выглядит идеально, но он большой по размеру, и когда я пытался изменить размер основного круга SKSpriteNode, все его дочерние узлы больше, чем родительские, и я не могу рассчитать размер для дочернего узла, который будет соответствовать каждому условие (разный размер главного узла).Как изменить размер дочернего узла в SKSpriteNode при изменении размера?
-(id)initWithJoystickImage:(NSString *)baseImage
upImage:(NSString *)upImage downImage:(NSString *)downImage leftImage:(NSString *)leftImage rightImage:(NSString *)rightImage
{
if((self = [super initWithImageNamed:baseImage]))
{
SKSpriteNode *up = [[SKSpriteNode alloc] initWithImageNamed:upImage];
up.position = CGPointMake(0, up.frame.size.height/2);
[self addChild:up];
SKSpriteNode *down = [[SKSpriteNode alloc] initWithImageNamed:downImage];
down.position = CGPointMake(0, -down.frame.size.height/2);
[self addChild:down];
SKSpriteNode *right = [[SKSpriteNode alloc] initWithImageNamed:rightImage];
right.position = CGPointMake(right.frame.size.width/2, 0);
self.size.height/2.5);
[self addChild:right];
SKSpriteNode *left = [[SKSpriteNode alloc] initWithImageNamed:leftImage];
left.position = CGPointMake(-left.frame.size.width/2, 0);
self.size.height/2.5);
[self addChild:left];
}
return self;
}
При использовании размер
по умолчанию, когда изменение размера в зависимости от размера устройства
Edit 1: добавление джойстика и размер кода
Joystick *joystick = [[Joystick alloc] initWithJoystickImage:@"cricle.png" upImage:@"up.png" downImage:@"down.png" leftImage:@"left.png" rightImage:@"right.png"];
joystick.size=CGSizeMake(DeviceHeight/3, DeviceHeight/3);
joystick.position=CGPointMake(DeviceWidth/2-joystick.frame.size.width/2, -DeviceHeight/2+joystick.frame.size.height/2);
Как изменить размер узла? '[SKAction scaleTo]'? – WangYudong
обновленный вопрос –