首页 > 解决方案 > 如何在 swift 中围绕 png 纹理为我的 SKSpriteNode 创建轮廓?

问题描述

我正在用 Swift(SpriteKit) 制作游戏,当游戏中的角色拿起一个道具时,我希望他得到一个紫色的轮廓,这样玩家就可以看到他的道具可以使用了。我希望轮廓能够准确地拥抱玩家的所有曲线。有没有办法在不是基本形状(如圆形或方形)但勾勒出复杂形状的精灵节点周围绘制轮廓?

这是一个类似于我的精灵节点的形状示例: 在此处输入图像描述

这是另一个我想在 SpriteKit 中添加视觉轮廓的播放器示例(我只是画了草图,但我希望它很明显): 在此处输入图像描述

他们的玩家还可以通过翻阅动画图集来制作他的腿动画,并且当行走动画发生时,轮廓最好留在腿周围。这可能吗?

为了清楚起见,我只想要一个用于视觉目的的轮廓,这样玩家就知道他们的“加电”护盾是激活的,所以如果他们被击中它不会伤害他们。

标签: swiftxcodesprite-kitskspritenode

解决方案


我已经有几年没有涉足 SpriteKit 了,如果记忆正确的话,我可以在开箱即用的动画中完美的碰撞检测。

检查文档后,我看到 SKPhysicsBody 有一个init(texture:size:)初始化程序。这至少应该让你更接近一点。

Apple 的这份指南可能值得一读。(像素完美碰撞检测很昂贵)。


推荐阅读