【发布时间】:2021-11-17 10:02:58
【问题描述】:
我正在用 Swift(SpriteKit) 制作游戏,当游戏中的角色拿起一个道具时,我希望他得到一个紫色的轮廓,以便玩家可以看到他的道具已准备好使用.我希望轮廓能够准确地拥抱玩家的所有曲线。有什么方法可以在不是基本形状(如圆形或方形)的精灵节点周围绘制轮廓,而是勾勒出复杂的形状?
这是另一个我想在 SpriteKit 中添加视觉轮廓的播放器示例(我只是画了草图,但我希望它很明显):
他们的玩家还可以通过翻阅动画图集来制作腿部动画,并且当行走动画发生时,轮廓最好留在腿部周围。这可能吗?
为了清楚起见,我只是想要一个用于视觉目的的轮廓,这样玩家就知道他们的“加电”护盾是激活的,所以如果他们被击中它就不会伤害他们。
【问题讨论】:
-
“有什么办法吗?”这是什么?
-
@ElTomato 抱歉刚刚编辑了帖子以使其更清晰。
-
您可以使用
SKShapeNode创建一个具有stroke 属性的节点。因此,如有必要,请使用SKShapeNode和UIBezierPath。 -
我认为你有四个合理的选择... 1)动画中不同姿势的特殊加电版本。 2)对姿势进行一些自动图像处理,例如模糊和颜色设置,将它们添加到您的图集中,然后在通电时在背景通电前使用具有常规角色的两个精灵堆栈. 3) 像#2 一样制作一个用于模糊和重新着色的着色器,然后将常规图像堆叠在图像+着色器的顶部。 4)如果字符着色足够简单(例如黑白字符),您可以制作一个着色器来添加轮廓而无需堆叠。
标签: swift xcode sprite-kit skspritenode