小编Lia*_*mme的帖子

是否必须将项目创建为精灵工具包,或者是否可以简单地添加框架?

我向后退了一步,为我正在制作的2D游戏学习精灵套件,而不是使用UIKit.在我经历过的所有教程中,他们将新项目创建为Sprite-Kit而不是单视图.只是想知道我是否必须重新创建我的游戏,或者我是否可以简单地将sprite kit框架添加到我现有的项目中?谢谢.

xcode objective-c ios sprite-kit

6
推荐指数
1
解决办法
1959
查看次数

如何使特定物体无视重力?(SpriteKit/Objective-C)

我正在处理一段代码,我希望视图中有引力,但我希望特定的抛射物能够抵抗重力并飞过屏幕.我知道在整个视图中摆脱重力只是:

self.physicsWorld.gravity = CGVectorMake(0, 0);
Run Code Online (Sandbox Code Playgroud)

但正如所述,我希望重力在现场.

所以我想知道是否有办法将重力从特定项目中解脱出来?(即SKSpriteNode _debris我案中的项目)

objective-c ios sprite-kit

4
推荐指数
1
解决办法
2206
查看次数

序列中是否可以有if语句?

只是尝试增强这部分代码,我想知道我是否可以在序列中包含if语句?当碎片数大于10时,我想减缓碎片的产生.

这是当前的代码:

-(void)spawnDebris {
    //debris
    SKSpriteNode * debris = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"debris1.png"] size:CGSizeMake(40, 40)];
    debris.zPosition = 1.0;

    debris.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:15];
    debris.physicsBody.allowsRotation = NO; 
    debris.physicsBody.categoryBitMask = CollisionDebris;

    RandomPosition = arc4random() %248;
    RandomPosition = RandomPosition + 34;
    debris.position = CGPointMake (RandomPosition, self.size.height + 40);

    [_debris addObject:debris];
    [self addChild:debris];

    //next Spawn:
    [self runAction:[SKAction sequence:@[
          [SKAction waitForDuration:2],
          [SKAction performSelector:@selector(spawnDebris) onTarget:self],
    ]]];

    if (_dead == YES) {
        [self removeAllActions];
    }

}
Run Code Online (Sandbox Code Playgroud)

哪里_debris是NSMutableArray.所以基本上SKSpriteNodes每2秒钟就会增加一次,但要改变它,我想waitForDurations在_debris计数超过一定数量后让它们改变.

这就是我的想法:

 //next …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios sprite-kit

2
推荐指数
1
解决办法
122
查看次数

精灵套件会使图像变大吗?

我正在研究一个精灵套件游戏,我无法弄清楚为什么它不会按照我想要的方式扩展我的图像.游戏是横向的.这是我遇到问题的代码:

SKSpriteNode *Pathway = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"path.png"] size:CGSizeMake(568, 220)];
Pathway.zPosition = -1.0;
Pathway.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
Pathway.name = @"Pathway";

[self addChild:Pathway];
Run Code Online (Sandbox Code Playgroud)

基本上我希望屏幕上的纹理如下: 在此输入图像描述

但由于某些原因,即使我更改纹理的大小(568,220),它也会缩放图像并且不适合屏幕.

我尝试使用的[Pathway setScale:0.7];是接近我正在寻找的尺寸,但我需要精确到568 x 220. 为什么即使我将其尺寸设置为568 x 220,它仍然会扭曲我的图像?

如果需要更多信息,请告诉我,我认为这应该足够了.

objective-c ios sprite-kit

1
推荐指数
1
解决办法
246
查看次数

标签 统计

ios ×4

objective-c ×4

sprite-kit ×4

iphone ×1

xcode ×1