问题标签 [skspritenode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1693 浏览

objective-c - 使用 SKAction colorizeWithColor 使 SKSpriteNode 闪烁白色

好的,所以我有一个精灵,假设被某物击中时会闪烁白色,我正在使用它

发生的是精灵闪烁,但不是白色,而是变成透明的。如果我使用任何其他颜色,如 redColor、blueColor 等。它完美无缺。

我怎样才能让它真正变白?

谢谢你的帮助!!!:D

0 投票
1 回答
577 浏览

objective-c - SKPhysicsBody 与移动的 SKSpriteNode 锚点的工作不正确?

这是我的代码:

绿色矩形定位没问题,但 SKPhysicsBody 没有正确表示这个矩形。看起来 SKPhysicsBody 没有根据精灵位置和锚点“移动”它的身体。SKPhysicsBody 向左移动 _ground.width 点。

我究竟做错了什么?

PS。更改为这个(代码)解决了我的问题,但我真的不喜欢这个解决方案,这似乎是一种丑陋的定位元素的方式。

+删除:

0 投票
0 回答
1024 浏览

ios - SKSpriteNodes 没有出现

所以我目前认为我已经很好地设置了这些精灵节点,它们应该会出现,但我无法弄清楚为什么它们没有出现在模拟器中。背景图像(bg.png)和“鸟”节点都出现了,但 spawnPipes 方法中的节点都没有出现。我对使用 SpriteKit 很陌生,所以它可能是显而易见的。

精灵节点方法:

然后在 initWithSize 中调用它:

0 投票
0 回答
715 浏览

ios - SKSpriteNode 的旋转与其阴影分组

我正在尝试在 SKSpriteNode 上执行一些操作,该 SKSpriteNode 与其在 SKNode 中的阴影分组。翻译工作正常,但旋转仍然是一个问题。

我实现了如下添加阴影:

}

我找到了链接Rotate and scale the POSITION of several sprites based on a center point? . 但是,我无法解决我的问题。

我使用以下代码段进行平移和旋转;

翻译:

回转:

如果有人可以指导我,我会很高兴。

问候,

内斯丽莎。

0 投票
2 回答
818 浏览

ios - 从另一个不是视图的类中将 SKSpriteNode 添加到主场景

所以我有我的主要观点,我可以做这样的事情:

这是在GameScene我的主要场景中完成的,它像这样加载到视图控制器中:

现在,如果我有一个不同的类A(可以在 中找到此类的实例GameScene),我如何将 SKSpriteNodes 添加A到 main中GameScene

什么是最简单/最有效的方法?

谢谢,

刘易斯

0 投票
3 回答
730 浏览

ios - SKSpritenode:物理质量不会因重力而改变加速度

我这边有问题。我正在使用 SKSpriteNode 在世界中创建不同的对象。我已经应用了重力自我,即 SkScene。

所以,这里的问题是,当我创建一个 SKSPriteNode 并为其物理体赋予质量时,它的行为每次都相似。例如:

如果我将质量设为 0,那么它也会下降(它不应该因为质量为零,所以根据物理规则,物体不应该以质量 0 下降)。

现在,如果我将质量更改为 10 或 100 甚至 1000,它会以与质量为 0 时相同的速度下落。

有没有人有同样的问题?或者任何人都可以帮我解决这个问题吗?

0 投票
3 回答
1439 浏览

ios - 如何将客户端数据添加到 SKNode / SKSpriteNode?

我正在使用IOS SpriteKit并想知道是否有某种方法可以将客户端数据添加到精灵节点?

例如,我想将特定行为附加到节点、附加属性、与其他节点的关系等。

我不愿意子类化SKNode,因为这似乎会破坏节点只是“视图”的模型/视图/控制器模型。

目前,我保留了一个单独的控制器对象层次结构,但这感觉很笨拙,而且在性能方面也不是很好。

什么是最佳做法?

0 投票
1 回答
614 浏览

ios7 - iOS Spritekit 无法在子类 SKSpriteNode 上运行 SKAction

对于我的问题,我想要一个更具概念性的答案,而不是代码一。

我有一个使用 Spritekit 的 iOS 应用程序。我有一个将 SKSpriteNode 子类化的类,这样我就可以向节点添加其他属性。我能够成功创建 SKSpriteNode 并将其显示在我的 SKSpriteNode 背景上并使用操作将其删除。但是,当我运行任何操作时,例如:

它不会为我的子类执行操作。但是,如果我对另一个 SKSpriteNode 应用相同的操作而不是执行该操作。这些是在每 5 秒运行一次的计时器上创建的。

一些示例代码如下:

我的场景.m:

我的子类.h

我的子类.m

每当操作运行时,它都会记录消息“正在运行操作!”,所以我知道它正在使用该方法,只是由于某种原因不执行操作?

如果您需要更多代码或信息,请告诉我!谢谢。

0 投票
2 回答
1766 浏览

objective-c - 使用物理 SKSpriteNode 子节点暂停 SpriteKit 游戏

我有一个 SKSpriteNode,在SKNode *_fgLayer.

现在,当我暂停或取消暂停游戏时,我希望 SKSpriteNode 保持原位而不旋转或掉落。如果我简单地使用_fgLayer.paused = YES;SKSpriteNode 并不会停留在原地,而是会旋转并掉落。如果我physicsBody.dynamic = NO;在暂停和 取消暂停时设置physicsBody.dynamic = YES;它可以工作。

但是,经过几次尝试后,我总是会遇到以下崩溃:

"Assertion failed: (typeA == b2_dynamicBody || typeB == b2_dynamicBody), function SolveTOI, file /SourceCache/PhysicsKit/PhysicsKit-4.6/PhysicsKit/Box2D/Dynamics/b2World.cpp, line 670."

所以,我猜设置 aphysicsBody.dynamic = NO;和 back 是行不通的。

有没有人知道
如何在游戏暂停时暂停动态物理体以保持原位?

0 投票
1 回答
5701 浏览

sprite-kit - 检测触摸了哪个 SKSpriteNode 实例?

我正在使用此代码来检测并查看用户点击是否在我的 SKSpriteNode 的框架内,如果是,则从屏幕上删除该节点。但我只希望被点击的节点消失。

在我的更新方法中,我正在调用一个方法 addCrate: 来每秒生成节点。

这是它正在调用的方法。

但是当我在我的 iPhone 上运行时,只有有时会注册点击并从屏幕上删除块,有时则不会。同样,我希望被点击的节点消失并且只有那个节点。

谢谢!

U1