问题标签 [sknode]
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 - 预先计算 SKNode 的 xScale 和 yScale 值
在执行之前[SKAction scaleBy:duration:]
,我需要预先计算节点的 x 比例和 y 比例。
我正在使用UIPinchGestureRecognizer
放大/缩小我的SKScene
,所以我这样做(scale
是持有UIPinchGestureRecognizer
的比例值的变量):
苹果文档说它的scaleBy:duration:
工作原理如下:
创建一个将节点的 x 和 y 比例值更改为相对值的操作。
参数
scale
添加到节点的 x 和 y 比例值的量。
sec
动画的持续时间。
但是,如果我尝试计算未来xScale
并且yScale
喜欢grassLayer.xScale + scale
它会不断给我比例值,这些值实际上并不“看起来”像grassLayer
节点在scaleBy:duration:
方法执行后具有的值。
那么,我怎样才能正确地预先计算xScale
/yScale
在scaleBy:duration:
方法执行之后呢?
ios - SKAction scaleBy:duration: 方法如何在幕后工作?
需要有一种方法可以在不使用 SKAction 的情况下“按比例缩放”,但它应该像scaleBy:duration:
方法一样模拟对 SKNode 的更改。
“scaledBy”节点上的比例因子如何变化?
ios - 工作不正常,开始和结束位置
我正在尝试在 SKScene 上绘制一些三角函数。我正在为屏幕中的每个点使用 SKShapeNode,因此当它到达左侧时,我会从父级中删除 if。
问题是,由于某种原因,它只在屏幕的一部分上绘制,就好像它被一个较小的视图包含一样。屏幕上的位置与真实屏幕不匹配......例如,如果我把它放在 100它实际上在一个不同的地方..加上它绘制的区域的大小减小了......
底部有一些代码
我希望有人能帮助我!非常感谢!
任何其他可能有助于询问的问题,我会重新编辑帖子。
谢谢!
这是一些代码:
objective-c - 在 for 循环中从 SKNode 数组获取 userData
我在从我的对象中获取 userData 值时遇到了一些问题。我知道正在为对象设置 userData,因为在我的代码中的其他地方我可以毫无问题地访问它。
我创建了一个 SKNode *column3 来保存该列中的所有按钮。像这样添加到场景中:
当我创建按钮时,我将它们分配给适当的列,如下所示:
稍后在我的代码中,我需要遍历 column3 节点组并从该组中的每个对象获取 @"buttonRow" userData。出于某种原因,它只给我“NULL”的值。NSLog 只是我用来测试的东西,它们对我来说并不重要。
当从该列中删除/删除任何按钮时,我需要获取此 userData 以便将所有按钮向下移动以占用屏幕上的任何空白空间。游戏将向下移动按钮并将新按钮添加到顶部以填充列。
我尝试将 column3.children 更改为 self.children,它让我所有的列节点 IE/column1、column2、column3 等都在游戏中。所以我不确定为什么它不起作用。一直在阅读并试图弄清楚一段时间。
任何帮助或提示都会很棒,谢谢。
更新: 这是我使用我创建的按钮类文件创建按钮的方式。
这是创建对象的自定义类文件。
这是创建和添加按钮的类的一部分
boolean - 检测节点是否已从场景中移除的 BOOL 方法
我正在制作一个砖块破坏类型的游戏,并且需要知道是否所有的砖块都已被破坏以便过渡到获胜屏幕。
我一直在考虑解决这个问题的方法是创建一个 BOOL 方法,每次移除一块砖时都会运行该方法来计算剩下多少砖。如果没有剩下的砖块......移动到胜利场景。
我正在努力解决如何做到这一点的逻辑。
到目前为止,我有:
didBeginContact 方法:
sprite-kit - 检测 SKEmitterNode 粒子何时与另一个 SKNode 接触
有谁知道我如何检测粒子何时与中SKEmitterNode
的 a 接触?SKNode
SKScene
SKNode
对于我正在创建的 2D 游戏,我想在粒子与其接触时施加一点力。
objective-c - Can an SKSpriteNode Object be Searched by Name
I am creating a game using Apple's SpriteKit, and I am wondering what is the most efficient way to find an SKSpriteNode object after creating it.
In one method I initialize a sprite node and assign a name to it:
Later on inside the touchesBegan:withEvent:
method I want to find the previously defined sprite node again and store it so I can run actions on it. First I attempted to do this:
However, I have realized that childNodeWithName:
is only available in the SKNode
class, not SKSpriteNode
. So this does not work. What I am thinking now is that I can create an SKNode
object and place my SKSpriteNode
inside of it. This way I can search for the SKNode
using the above method. This seems a bit convoluted, however. Is there a better way?
ios - 谁能给我从sknode类调用skscene类方法的例子
在 MyScene 类的子类中SKScene
在员工类子类中SKNode
我想increaseScoreBy:
从员工类(的子类SkNode
)调用方法
ios - 如何在 sprite kit 中使用 SKEmitterNode 来实现“战争迷雾”效果?
我正在尝试使用 SKEmitterNode 创建一个着色器,有点像在洞穴中的口袋妖怪: http ://www.serebii.net/pokearth/maps/johto-hgss/38-route31.png
这是我到目前为止的代码:
这是 SKEmitterNode:http ://postimg.org/image/60zflqjzt/
我有两个想法。第一个是创建一个矩形 SKSpriteNode 并从矩形 SKSpriteNode 中删除 SKEmitterNode。这样,我们就有了一个黑色的矩形,中间有一个“洞”,我们可以看穿它。
第二个是将矩形SKSpriteNode和SKEmitter节点添加到另一个SKNode(区域),然后设置SKEmitterNode的particleBlendMode,最后在颜色函数中设置SKNode(区域)的alpha。例如,如果一个像素的颜色为黑色,则该像素的 alpha 值为 1.0,而另一个像素为白色,则其他像素的 alpha 值为 0.0。
这个问题可能与How to create an alpha mask in iOS using sprite kit在某些方面重复,但由于没有给出好的答案,我认为这不是问题。
非常感谢。
sprite-kit - Sprite Kit 离开屏幕时从父级移除 SKNode
我想知道如何在我的 SKNodes 离开屏幕时删除它们,以帮助我的游戏运行得更顺畅。
如何在 Sprite Kit 上执行此操作
非常感谢