问题标签 [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 - 呈现 SKScene BAD ACCESS 崩溃
我正在 SpriteKit 中构建一个相当简单的游戏。这是我第一次使用 SpriteKit,到目前为止一切顺利。现在我想在玩家完成游戏时呈现一个新的 SKScene。我遇到了似乎无法诊断的错误访问崩溃。
我认为我正确地呈现了场景:
每次我在 presentScene 上收到以下错误:line - Thread 1: EXC_BAD_ACCESS (code=1, address = 0x10)
查看线程跟踪,似乎崩溃可能源自 [SKNode isPaused]
任何建议都会很棒,我完全迷失了这一点。
ios - SKAction 无法正常工作
我有一系列想要播放的 SKAction,但它们无法正常播放。眼睛只会闭上,再也不会睁开。我不知道为什么会发生这种情况,但也许你会!感谢您的帮助,谢谢。
在 MyScene.m 中
ios - 为什么 SKNode nodeAtPoint 返回错误的节点?
Apples 文档指出 SKNode 上的 nodeAtPoint 方法返回树中最深的节点。我认为这意味着,如果您在顶部绘制场景节点的树,则答案应该是树中最底部位置的节点之一。这不会发生在我身上。这是我的树的样子:
括号中的数字是节点的 z 位置。当我向场景询问“nodesAtPoint”并给它一个与 playerPiece 位置相对应的计算点时,我得到:“world, boardLayer, rotation, highlight, board, playerPiece”。这是我所期望的。但是,当我使用同一点查询场景中的“nodeAtPoint”时,我会返回“突出显示”。我期待playerPiece。为什么那个节点没有返回?我在看什么?
我不确定代码会有什么好处,但就是这样。此代码位于 Board.m(树的底部)中。
输出是:
swift - 尝试调整 sknode 的大小会产生错误“无法分配给此表达式的结果”?
我创建了一个名为 level 的 SKNode 子类,我正在尝试更改它的大小,但是我收到错误“无法分配给此表达式的结果”。
我究竟做错了什么?
ios - 在特定子视图中查找 SKNode
我已经设置了许多子视图来获取不同的区域。我想跟踪哪些节点位于特定区域。我有一个子视图用于限制手势识别器的区域(完美运行)
所以如果玩家降落在添加到视图的子视图(score100View)中。我想给玩家100分。
在更新方法中,我通过以下方式跟踪不同的播放器节点:
我在想我只能通过类似的方式在特定视图中搜索
然而,这是不允许的。(警告:集合表达式类型 uiview 可能无法响应 countByEnumeratingWithState:objects:count:)
我查看了一些 UIView 文档(以及 sprite kit PG)并尝试寻找答案,但似乎无法解决这个问题。
我认为会起作用的其他一些事情是获得该职位并查看该职位是否包含在 score100Region 中。但我也不确定如何做到这一点。
感谢您抽出宝贵的时间!
詹姆士
swift - SpriteKit childNodeWithName 找不到现有节点
我在 SKScene 中有这段代码:
我看到“存在!” 在日志中,因此 children 数组中有一个具有此名称的节点,但 tempNode为nil。该self.childNodeWithName("//" + name)
调用也返回nil。
swift - 如何在第一层 SWIFT 上添加 SKNode
我正在尝试在场景中添加一个 SKShapeNode,但如果我使用它:
此矩形添加到最后一层并与其他节点重叠。那么,如何在第一层添加呢?
提前致谢
ios - IOS在不同位置添加随机节点
我正在尝试制作 iPhone 游戏,并尝试在不同位置添加随机图像。
这就是我想要做的 有 6 个不同颜色的椭圆节点(敌人) 游戏开始时我希望有 5 个敌人节点。
当玩家节点接触到敌方节点时,敌方节点会消失,然后立即在不同位置添加另一个敌方节点。
但有时一些节点出现在同一个位置,所以看起来有 4 个节点而不是 5 个。如果在特定位置已经有一个节点,我怎么能不在那里添加另一个节点,而是在其他位置添加另一个节点?
下面我添加了我写的部分代码。这可能很容易,但我是编程新手,我想不通。
谢谢,
-(void) addWaterBall { for (int i = 0; i < 5; i++) {
sprite-kit - 父级旋转后SpriteKit SKNode在父级中的视觉位置?
我有以下层次结构:
场景 -> 根节点 -> NodeA -> NodeB(旋转的锚节点) -> NodeC
如何确定 NodeC 在根节点坐标空间中的视觉位置?
我用 convertPoint:toNode: 和 convertPoint:fromNode: 尝试了几种变体,但我得到的数字不匹配。
我还查看了Get visible location of SpriteKit node after parent rotation,这似乎与我的问题很接近,但也没有运气。
ios - 与投射它的 SKSpriteNode 一起淡化阴影
这是我的设置,使用 Sprite Kit。首先,我在 SKScene 中创建一个简单的精灵节点,如下所示:
然后在场景中添加一个光照节点:
果然,该块现在投下了一个漂亮的小阴影:
现在我通过操作它的 alpha 值来淡化块,例如通过运行一个动作:
这是尴尬的情况:当块变得越来越半透明时,阴影保持不变。这是动作结束前一刻的样子:
一旦 alpha 完全下降到 0.0,阴影就会从一帧到下一帧突然消失。
然而,随着投射它的物体变得越来越透明,让阴影慢慢变得越来越弱会更好。
问题:
Sprite Kit 可以实现这样的效果吗?如果是这样,你会怎么做?