OGeek|极客世界-中国程序员成长平台

标题: ios - SKSpriteNode定位 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 02:15
标题: ios - SKSpriteNode定位

我很难将我的 Sprite 节点定位在屏幕顶部, Sprite 之间的空间相等/几乎相等。 Sprite 显示,但我不知道如何以适用于所有 iDevice(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]; 



Best Answer-推荐答案


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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4