标签: sprite-kit

SKNode convertPoint toNode&fromNode混淆?

我对SKNode方法convertPoint:fromNode:convertPoint:ToNode:工作方式感到有些困惑,我看过文档,但不是很明显他们做了什么.例如,这个(见下图)是我用过的一个小测试convertPoint:fromNode:.黑色区域是SKScene背景,蓝色区域是一个SKSpriteNode父级SKScene,红色区域是另一个SKSpriteNode蓝色精灵的父级.两个精灵的锚点由小绿点表示.我想要做的是获取红色精灵的场景位置,我使用以下代码完成:

CGPoint positionInScene = [self convertPoint:[self position] 
                                    fromNode:[self redSprite]];
Run Code Online (Sandbox Code Playgroud)

结果是这样的

positionInScene = [105, 205]
Run Code Online (Sandbox Code Playgroud)

这是我所期望的,因为那将是场景空间中红色方块的起源.我很困惑的是争论.根据我的猜测:

[SKNode_A convertPoint: CGPoint_B toNode: SKScene_C]
Run Code Online (Sandbox Code Playgroud)
  • SKNode_A =要转换为...的节点坐标空间
  • CGPoint_B =要转换的点(不确定为什么它的[自我位置]在上面)
  • SKNode_C =要转换的节点坐标空间...

我最初的尝试是[self convertPoint:[redSprite position] fromNode:redSprite]因为我想将红色精灵原点转换为场景.如果有人能在这个和它的朋友身上投入一点点光明和逻辑,convertPoint:toNode:那将会非常感激,这似乎有点笨拙.

在此输入图像描述

ios7 sprite-kit sknode

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

如何将粒子效果添加到不是使用iOS 7 SpriteKit粒子的游戏的iOS应用程序?

我需要在我的应用程序中添加雨粒子效果,我一直很难找到实际执行这个想法的方法.

我尝试按照这个CALayer方法教程:链接, 但我不太确定这是否是最好的方法,考虑到Xcode 5中提供的新的iOS 7 SpriteKit粒子发射器.

我已经创建了.sks文件并且它在我的层次结构中,但我仍然无法将其添加到我的故事板/项目中.

话虽如此,我究竟如何在我的视图中添加SpriteKit粒子(sks)?我对SpriteKit框架中的场景,分层等并不熟悉,因为我不是游戏开发人员.我需要尽可能多的细节和示例代码,以便我能够解决这个问题

更新:我已按照SO成员答案中提供的指示:AyatollahAndy,请参阅下面的答案.虽然我能够SKSceneview收到任何触摸事件时显示我的应用程序崩溃.我得到以下内容:在此输入图像描述

谢谢

objective-c uiview ios sprite-kit skemitternode

34
推荐指数
3
解决办法
2万
查看次数

使SKScene的背景透明不起作用......这是一个错误吗?

有没有办法让SKScene的背景透明,并通过透明度将该场景呈现在另一个场景上.

想法是让所呈现的场景的背景如下:

self.backgroundColor = [SKColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.5f];
Run Code Online (Sandbox Code Playgroud)

什么可以看到背后的场景变暗.但这样做并不奏效.背景呈现完全不透明.

有没有办法做到这一点?

iphone ipad ios sprite-kit

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

由于部署目标早于设备版本,着色器性能数据可能不可用

简而言之,我只想知道我是否应该关注这个问题:

运行时:GPU帧捕获:

由于部署目标早于设备版本,着色器性能数据可能不可用

我使用的设备运行iOS 12.0,当我将应用程序设置为目标iOS 12时,此问题没有出现.

但是,在我将应用程序的目标更改为11.4之后,就会出现这种情况.

基于我对它的阅读,以及我的应用程序在更改后的性能,我认为这不是真正令人担忧的,只是存在提醒我可能在获取着色器性能数据时遇到问题.

如果没有对11.4设备进行测试,我能做什么甚至应该做什么,去除它?

iphone xcode ios sprite-kit

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

Physicsbody不遵守节点的锚点

我的场景有一堆矩形,物理体与矩形大小相同.我喜欢将我的所有物体锚定到CGPointZero,但是我注意到当我这样做时,物理体仍然固定在中间.换句话说,我的物理体的位置就像是视觉表示的左下方100像素.

这是一段简单的代码:

SKSpriteNode* square = [SKSpriteNode spriteNodeWithColor:[SKColor blackColor] size:CGSizeMake(width, height)];
square.anchorPoint = CGPointZero; //position based on bottom-left corner
square.position = CGPointMake(x, y);

square.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(width, height)];
Run Code Online (Sandbox Code Playgroud)

任何想法或建议解决这个问题将不胜感激.例如,如果我可以想象物理机构,这可能有所帮助,但我不知道如何.

更新:所以我通过简单地设置锚点并重新定位我的矩形来解决问题.所以这个问题仍然存在,但我已经有了解决方案并且工作正常.

ios sprite-kit skphysicsbody

32
推荐指数
4
解决办法
6883
查看次数

如何将SKSpriteNode带到前面?

如何将SKSpriteNode带到所有其他节点的前面?

使用UIView,我可以使用bringSubviewToFront在其他视图前面显示uiview.

objective-c sprite-kit skspritenode

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

在SpriteKit中使用SKLabelNode插入换行符

关于如何使用SpriteKit中的SKLabelNode类插入换行符的简单问题.我有以下代码但它不起作用 -

 SKLabelNode *nerdText = [SKLabelNode labelNodeWithFontNamed:@"Times"];
    NSString *st1 = @"Test break";
    NSString *st2 = @"I want it to break";
    NSString *test = [NSString stringWithFormat:@"%@,\r%@",st1,st2]; //Even tried \n
    nerdText.text = test;
    nerdText.fontSize = 11;
    nerdText.fontColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];
    nerdText.position = CGPointMake(150.0, 250.0);
    [self addChild:nerdText];
Run Code Online (Sandbox Code Playgroud)

请帮帮我!

objective-c ios7 sprite-kit

31
推荐指数
7
解决办法
2万
查看次数

精灵套件 - SKShapeNode路径不绘制四线曲线

我一直在钻研Apple的新Sprite Kit,并且已经使用了一段时间了.然而,当我试图为一个弯曲的路径绘制时,我遇到了一个问题SKShapeNode.它似乎只是绘制一条直线.

这是我遇到的一个非常简单的例子 - 试图绘制CGPath一个SKShapeNode:

    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, 0, 0);
    CGPathAddQuadCurveToPoint(path, NULL, 50, 100, 100, 0);
    CGPathAddLineToPoint(path, NULL, 50, -100);
    CGPathCloseSubpath(path);

    SKShapeNode *shape = [[SKShapeNode alloc]init];
    shape.path = path;

    [self addChild:shape];

    CGPathRelease(path);
Run Code Online (Sandbox Code Playgroud)

这是我的ASCII艺术,它正在做什么(抱歉,我没有足够的声誉发布实际图像):

---------------------------------------------------------------------------------
|          EXPECTED RESULT              |            ACTUAL RESULT              |
---------------------------------------------------------------------------------
|                                       |                                       |
|             __----__                  |                                       |
|            /        \  <- Curve       |                ?                      |
|           /          \                |           ____________                |
|           \          /                |           \          /                |
| …
Run Code Online (Sandbox Code Playgroud)

cgpath ios sprite-kit skshapenode

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

SKSpriteNode - 创建一个圆角节点?

有没有办法让SKSpriteNode圆形走投无路?我正在尝试用颜色填充的SKSpriteNode创建一个Tile likesqaure块:

SKSpriteNode *tile = [SKSpriteNode spriteNodeWithColor:[UIColor colorWithRed:0.0/255.0
                                                                           green:128.0/255.0
                                                                            blue:255.0/255.0
                                                                           alpha:1.0] size:CGSizeMake(30, 30)];
Run Code Online (Sandbox Code Playgroud)

如何围绕走投无路?

谢谢!

iphone objective-c ios sprite-kit

31
推荐指数
5
解决办法
2万
查看次数

iOS构建:此构建在iTunes连接中无效

我最近上传了一个应用程序到应用程序商店,现在已经处理了几天.我今天早上去看了所有的东西,在iTunes连接的顶部栏上,我点击了iOS版本,看看一切如何,我得到一个带有感叹号的红色圆圈.当我点击它时,它会显示"此版本无效".有谁知道这样做的原因是什么?

xcode itunesconnect ios sprite-kit swift

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