标签: skspritenode

如何为 SKSpriteNode 创建自定义属性?

例如,我正在尝试制作一些SKSpriteNode,它们只能持续10秒。我想为节点创建一个名为“bornTime”的自定义属性,以便在 update() if 中currentTime - bornTime > 10,该节点将被删除。

ios sprite-kit skspritenode swift

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

SpriteKit:另一个节点之上的节点

我想在背景之上创建我的播放器。不知怎的,这不起作用。节点计数器增加 1,但不可见。我在添加背景后添加播放器,因此它应该位于顶部。我用来创建播放器的代码:

var player = SKSpriteNode()

func addPlayer(gameScene: GameScene, xPos: CGFloat, yPos: CGFloat){
    player = SKSpriteNode(imageNamed: "player")
    player.size = CGSize(width: fieldsWidth, height: fieldsWidth)
    player.position = CGPoint(x: xPos, y: yPos)
    gameScene.addChild(player)
}
Run Code Online (Sandbox Code Playgroud)

我从另一个类访问该函数,如下所示:

        person().addPlayer(self, xPos: fieldsWidth/2, yPos: fieldsWidth/2)
Run Code Online (Sandbox Code Playgroud)

希望你能帮助我。

sprite scene sprite-kit skspritenode swift

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

Swift SpriteKit 在 x 轴旋转节点

我正在关注本教程(我认为它是用 JavaScript 编写的):3D 地形

我在 Swift 中尝试使用 SpriteKit,但在 x 轴旋转时遇到问题。

这就是教程中的样子: 图片来自教程

这就是我现在的处境: 在此输入图像描述

我用以下代码创建了这个网格:

var shapePoints = [CGPoint]()
for i in 0...zeilen+1{
    for j in 0...spalten{
        shapePoints.append(CGPoint(x: zellenGroesse*j, y: zellenGroesse*i))
        shapePoints.append(CGPoint(x: zellenGroesse*j, y: zellenGroesse*(i+1)))
    }
}
let fertigeShape = SKShapeNode(points: &shapePoints, count: shapePoints.count)
self.addChild(fertigeShape)
Run Code Online (Sandbox Code Playgroud)

现在我想将其旋转一定角度,但我只能在 z 轴上旋转它,而不能在 x 轴上旋转它。

SpriteKit 中有没有办法也可以在 x 轴上旋转节点?

谢谢并致以诚挚的问候

rotation sprite-kit skspritenode skshapenode swift

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

如何在iOS7 SpriteKit中为不同大小的图像制作动画?

我正在使用流动的代码来动画我的精灵节点.

        NSMutableArray *jumpUpTextures = [NSMutableArray arrayWithCapacity:10];
        for (int i = 0; i < 4; i++) {
            NSString *textureName = [NSString stringWithFormat:@"runnerJumpUp%d", i];
            SKTexture *texture = [SKTexture textureWithImageNamed:textureName];
            [jumpUpTextures addObject:texture];
        }

        SKAction *jumpUpAnimation = [SKAction animateWithTextures:jumpUpTextures timePerFrame:0.2]; 
Run Code Online (Sandbox Code Playgroud)

除了一个图像看起来更大和模糊之外,动画效果还可以.我有4张图片,大小如下:

runnerJumpUp0.png 62*56
runnerJumpUp1.png 62*56
runnerJumpUp2.png 62*56
runnerJumpUp3.png 47*56
Run Code Online (Sandbox Code Playgroud)

最后一个的大小与其他三个不同.动画运行时,最后一个图像将向上扩展.精灵的最后一帧看起来比其他帧大.你能告诉我该如何解决这个问题?

非常感谢.

可靠的人

ios7 sprite-kit skspritenode sktexture

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

Sprite-Kit在触摸屏幕时更改节点的图像

有一个英雄可以通过点击屏幕来控制.我希望每次触摸屏幕时英雄看起来都有点不同.

我所做的是设置两个略有不同的图像.我希望在有触摸事件时更改英雄的形象.

到目前为止,我设置了一个数组来保存信息,但它有点无法解决:

 NSMutableArray *heroFrames = [NSMutableArray array];

NSString* textureName = nil;

if (UITouchPhaseBegan) {
    textureName = @"hero1.gif";
}
else  {
    textureName = @"hero2.gif";
}

    SKTexture* texture = [SKTexture textureWithImageNamed:textureName];
    [heroFrames addObject:texture];

[self setHeroFrames:HeroFrames];

self.hero = [SKSpriteNode spriteNodeWithTexture:[_heroFrames objectAtIndex:1]];
Run Code Online (Sandbox Code Playgroud)

我在运行时遇到异常..还有其他想法如何实现我的问题?

多谢你们!

uitouch ios sprite-kit skspritenode

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

精灵套件 - 如何显示精灵/纹理/图像的一半

我正在开发一个Sprite Kit项目,我需要在某些情况下只显示现有图像的一半.

我尝试使精灵的框架更小,但它只是拉伸图像.

是否有可能使用蒙版或其他东西才能只显示精灵/图像/纹理的一半?

ios sprite-kit skspritenode

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

使用skphysicsBody和半径圆来圈入球

形而上学

    roundbg.physicsBody = SKPhysicsBody(circleOfRadius: round.frame.width/2)
    roundbg.physicsBody?.dynamic = false
Run Code Online (Sandbox Code Playgroud)

试图将球圈入圆圈内(roundbg).问题是,当我使用circleOfRadius作为圆形纹理时,它需要整个圆而不仅仅是边框.我明白为什么circleOfRadius正在这样做,但无法弄清楚如何抓住边界.有任何想法吗?因此理想情况下,当球落下时,它会被困在圆圈内(圆形).

第一款iOS应用程序/游戏,对此非常新.谢谢你的帮助!

ios sprite-kit skspritenode swift

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

如何在XCode中编写OpenGL ES片段着色器?

我正在尝试将自己的着色器用作SKSphaN的SKShader,但我只是不知道正确的方法.我想要的只是一种用自动完成来编写着色器代码的方法,并且可以看到着色器,而不必等待很长时间来编译它,但它似乎比我想象的更难.

我已经安装了GLFW3以及其他一些奇怪的东西,因为大多数教程都建议使用OpenGL这样的东西,但它似乎更多的是整个OpenGL,而不仅仅是一种特定的着色器.

TL; DR:有没有人知道在SpriteKit中编写着色器以用作SKShaders的快速而简单的方法?

opengl-es fragment-shader sprite-kit skspritenode swift

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

如何到达,然后删除SKNode的父级?

A SKSpriteNode有一个父母,该父母是随机分配的,并且不知道是谁。

如何SKSpriteNode找到它的父级,然后从场景中删除父级,从而删除自身和父级?

parent ios sprite-kit skspritenode swift

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

为SKSprite Game创建一个登录页面

我正在使用许多SKScene和Sprite对象在xcode中创建游戏(Swift).我想创建一个场景(设置场景)来捕捉玩家的姓名,电子邮件,性别等.我该如何解决这个问题?如何捕获用户的输入.SKScenes不允许在UI中输入字段/值?

谢谢

sprite-kit skspritenode skscene swift

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