问题标签 [skshapenode]
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.
ios - 调整 SKShapeNode 的大小
如何调整 SKShapeNode 的大小?
到目前为止我已经尝试过:
框架调整大小
box.frame.width = 10
给出错误Cannot assign to the result of this expression
SKA动作
什么都没发生
xScale
box.xScale = 0.1
缩放节点而不是调整大小
sprite-kit - 在 SpriteKit 中绘制线条时如何避免 FPS 下降?
我当前的项目包含一个重力模拟器,其中精灵根据他们在游戏场景中经历的力移动。
我的功能之一是允许移动的精灵在它们后面画一条线,这样你就可以看到它们走的路径。
此处显示:
然而,随着 Sprite 继续在屏幕上移动,FPS 开始下降。这可以在第二张图片中看到,自精灵第一次开始移动以来已经过去了一段时间。
在研究时,我发现其他人发布了类似的问题:
但是,在上面的问题中,答案的海报详细说明它(答案)是针对静态图像的,这不是我想要的,因为这条线会根据影响精灵路径的因素而实时变化,这是当我尝试实现一个函数以向旧行添加一条新行时反映了这一点,但它不起作用。该代码在这里
我在问是否有人可以帮助我找到一种方法来正确阻止来自所有绘制操作的这种持续的 FPS 下降。我当前的绘制代码由两个函数组成。
updateDrawPath: 画线到 Sprite 的最新位置。
traceObject: 采用 SKPlanetNode(SKSpriteNode 的子类),并将其设置为在其后绘制一条线。
如果有人可以提出一种方法来做到这一点,并减少我不断积累的可怕开销,那就太棒了!
ios - 用 Joint 扩展 SKShapeNodes
我有两个要相互连接的 SKShapeNode 节点。当我点击执行一个动作时,我希望两个节点扩大它们的高度,再次点击时我希望它们缩回。问题是两个节点没有按预期动画:
动画前:(未展开)
动画后:(展开)
两个节点都在扩展,但似乎一个正在另一个之下。我想要发生的是他们互相“推开”。
ios - 如何使用路径创建精灵
我对 SpriteKit 很陌生,不幸的是无法在网上找到任何资源来了解它是如何工作的。基本上,我试图创造一颗钻石(来自其他人的问题和答案)。这就是我所拥有的:
我已将此代码放在viewDidLoad
. 但是,当我运行它时,我得到的只是灰屏......有人可以帮助我吗?如果是这样,是否可以对 2/3 的圆而不是菱形做同样的事情?我希望物体能够进入圈子......任何人都可以推荐任何我可以学习如何在物体周围创建“路径”的地方吗?
我已经尝试使用bodyWithTexture:alphaThreshold:size:
Apple 指南中的 ,但无法弄清楚它是如何工作的?
抱歉这么长的问题,任何帮助将不胜感激!
ios - SKShapeNode 在 SKScene 中显示时失真
我创建了一个 SKShapeNode 并通过以下方式将其添加到 SKScene 中:
由于 CGRectMake 的宽度和高度相同,我希望看到一个正方形,但 SKShapeNode 似乎扭曲了,它看起来大约是宽度的两倍。我正在我的模拟器上以纵向模式查看场景,我想知道 SKScene 是否正在弄乱或改变形状的纵横比来解决这个问题。我很困惑为什么它不显示为正方形?
ios - SKShapeNode 的拖动不平滑
因此,我对 swift 和 iOS 开发非常陌生,但对编程并不完全陌生,并且只是通过一些教程,但基本上我的代码如下所示:
}
当我构建它时,它会在我拖动它时识别并移动圆圈,但只能移动大约 30 像素,然后我必须再次触摸它才能移动它。我在这里做错了什么?
swift - no designated init for SKShapeNode(circleOfRadius: radius)
I'm trying to create a subclass of SKShapeNode in swift as SKShapeNode(circleOfRadius: radius) but there is no designated init for it.
Anyone have any workarounds or info about why? I'm not sure if this is a bug or intentional. I found this video demonstrating a workaround for SKSpriteNode but its not working for me. https://skillsmatter.com/skillscasts/5695-how-to-subclass-a-skspritenode
Overall i am trying to make a subclass for an SKShapeNode that i can then subclass from again to have different versions of to easier manage my code. TIA
Thanks Martin i found that example earlier. It works but how would i make that into a circle instead of a rectangle?
In Main Code
sprite-kit - 检测 SKShapeNode 上的触摸与使用 sprite 的方式不同
我有一个 SKShapeNode 并为它设置了一个名称,但是当我尝试在 touch 开始检测它时,它的工作方式与您与其他 sprite 一起使用的方式不同。
敌人是 SKSpriteNode 并且它被正确检测到,但形状是 SKShapeNode 没有。我正确输入了字符串名称。
ios - SKShapeNode 将 SKAction 设置为从中心缩放
我有一个 Tile 类,它是 SKShapeNode 的子类
我按如下方式实例化该类:
在我的实现文件中,我有
}
问题是我想为该节点设置动画/缩放,但它从节点的坐标 (0,0) 缩放,而不是从它的中心缩放。我在其他地方读到我应该使用该+ (instancetype)shapeNodeWithPath:(CGPathRef)path
centered:(BOOL)centered
方法并将中心设置为 YES
但是,在我上面实例化的方法中,我不确定如何使用 shapeNodeWithPath 方法初始化 SKSHapeNode。还是有其他方法可以设置 Tile.center = YES;