答案 0 :(得分:3)
重要提示:如果因笔划颜色和形状颜色之间的颜色混合而使用笔划的小于1的alpha值,则不能很好看。
使形状为3个像素(使用问题中提供的示例)在每个方向上(向上,向下,向左和向右)较小,这样笔划就是您想要的位置。由于笔划是形状的一部分,因此您不必担心形状的尺寸较小,当您触摸笔划时,它仍然会计算为接触形状。
虽然笔划保持在新形状的一半内侧和一半外侧,但笔划位于原始形状的内侧,并且外观与原始形状的大小相同,而笔划看起来完全打开里面。
请注意,要获得每个维度缩小形状所需的像素数量,只需将所需笔划的大小除以2.
如果你试图将笔划“放”在形状的外面,而不是按照许多像素减少形状,只需在每个方向上增加相同的量。
请记住,这不仅仅是解决方案,因为没有办法(我至少知道)将笔划移动到形状的内部或外部。
答案 1 :(得分:1)
想到了处理更复杂形状的替代方案。
我们不是缩小形状,而是将笔划大小加倍,因此6现在变为12.这将使我们在外面6个,在内部6个。
我们使用SKCropNode,在中风之前使用我们的形状的面具,然后将形状添加为孩子。这应该给我们想要的结果。
这应该适用于每个场景,例如,如果我们想要外侧的笔划2和内侧的4个,我们给我们的形状一个8的笔划,我们给我们的面具形状一个4的笔划
注意我没有对此进行过测试,这一切都在脑海中考虑过。