ios - SKSpriteNode定位

标签 ios xcode sprite-kit

我很难将 Sprite 节点放置在屏幕顶部, Sprite 之间的间距相等/接近相等。 Sprite 显示,但我不知道如何以适用于所有 iDevices(iPad 除外)的方式对其进行编码。请帮助:)

SKTexture *ure = [SKTexture textureWithImageNamed:@"enemy"];
SKSpriteNode *temp = [[SKSpriteNode alloc] initWithTexture:ure color:nil size:CGSizeMake(400, ure.size.height)];
CGPoint pos = CGPointMake(70,50);
[temp setPosition: [self convertPointFromView:pos]];
temp.physicsBody.affectedByGravity = NO;
[self addChild:temp];


SKTexture *ure2 = [SKTexture textureWithImageNamed:@"enemy"];
SKSpriteNode *temp2 = [[SKSpriteNode alloc] initWithTexture:ure color:nil size:CGSizeMake(400, ure2.size.height)];
CGPoint pos2 = CGPointMake(170,50);
[temp2 setPosition: [self convertPointFromView:pos2]];
temp2.physicsBody.affectedByGravity = NO;
[self addChild:temp2];


SKTexture *ure3 = [SKTexture textureWithImageNamed:@"enemy"];
SKSpriteNode *temp3 = [[SKSpriteNode alloc] initWithTexture:ure color:nil size:CGSizeMake(400, ure3.size.height)];
CGPoint pos3 = CGPointMake(270,50);
[temp3 setPosition: [self convertPointFromView:pos3]];
temp3.physicsBody.affectedByGravity = NO;
[self addChild:temp3]; 

最佳答案

SKTexture *ure = [SKTexture textureWithImageNamed:@"enemy"];
    SKSpriteNode *temp = [[SKSpriteNode alloc] initWithTexture:ure color:nil size:CGSizeMake(self.size.width/10, ure.size.height)];//self.size.width/10 for example.
    CGPoint pos = CGPointMake(self.size.width/2 + pos.frame.size.width, self.size.height - pos.frame.size.height);
    [temp setPosition: [self convertPointFromView:pos]];
    temp.physicsBody.affectedByGravity = NO;
    [self addChild:temp];


    SKTexture *ure2 = [SKTexture textureWithImageNamed:@"enemy"];
    SKSpriteNode *temp2 = [[SKSpriteNode alloc] initWithTexture:ure color:nil size:CGSizeMake(self.size.width/10, ure2.size.height)];
    CGPoint pos2 = CGPointMake(self.size.width/2, self.size.height - pos2.frame.size.height);
    [temp2 setPosition: [self convertPointFromView:pos2]];
    temp2.physicsBody.affectedByGravity = NO;
    [self addChild:temp2];


    SKTexture *ure3 = [SKTexture textureWithImageNamed:@"enemy"];
    SKSpriteNode *temp3 = [[SKSpriteNode alloc] initWithTexture:ure color:nil size:CGSizeMake(self.size.width/10, ure3.size.height)];
    CGPoint pos3 = CGPointMake(self.size.width/2 - pos3.frame.size.width, self.size.height - pos3.frame.size.height);;
    [temp3 setPosition: [self convertPointFromView:pos3]];
    temp3.physicsBody.affectedByGravity = NO;
    [self addChild:temp3];

关于ios - SKSpriteNode定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26077792/

相关文章:

ios - 将图像旋转 3*Double.pi/2 使图像不出现 (swift3)

ios - 如何将文件从主包复制到文档文件夹

ios - 无法让嵌入式 UIViewController 旋转

ios - 运行 AVCaptureDevice.requestAccess 阻塞

objective-c - 绘制不带 fillColor 的 CAShapeLayer LAYER

swift - 如何在 Swift 中正确地从父类中删除 SKSpriteNode 的子类(从数组中删除,屏幕上的空间...)?

ios - 如何快速更改区域(语言)?

ios - 选定/单击的 UIButton 文本标题颜色需要以编程方式从 ScrollView 上的按钮数量更改

xcode - 安装pod时是否需要关闭Xcode项目?

ios - 通过触摸按钮显示广告横幅