问题标签 [skcropnode]

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.

0 投票
1 回答
580 浏览

swift - SKCropNode 奇怪的行为

使用 SKCropNode 时,我希望添加到cropNode 的图像根据相应的蒙版像素 alpha 值调整每个单独的像素 alpha 值。

经过大量研究,我得出的结论是图像像素的 alpha 值不会适应蒙版,但是在继续我的项目后,我注意到一个特定的cropNode 图像的像素实际上正在褪色到蒙版像素阿尔法值???太棒了!但是,在复制了这个之后,我不知道它为什么会这样做?

上面的代码给了我想要的效果,但是如果你删除下面的,图像像素的 alpha 值不再根据掩码调整?下面的代码实际上并没有在我的项目中使用,但这是我可以调整像素 alpha 值的唯一方法。

任何人都可以看到是什么导致了这种行为,或者是否有更好的方法来获得我想要的效果?

面具:

在此处输入图像描述

结果:

在此处输入图像描述

如果删除:

结果:

在此处输入图像描述

0 投票
0 回答
80 浏览

swift - Swift SKCropNode 有人可以解释这种行为吗?

我有 16 个 SKCropNode 对象的网格。每个都包含一个用作掩码的 SKShapeNode 和一个 SKSpriteNoe。在这张未设置蒙版的图像中,您可以看到所有 16 个对象都出现在网格中。

https://github.com/soggybag/Grid

没有遮罩,所有项目都会出现

设置掩码后,某些项目会消失吗? 似乎这里有一个模式:1、4、6、9、11 和 14。我的猜测是 17 会消失。

互动也很奇怪。点击使图像精灵向下移动并从遮罩中消失。您可以点击橙色下方的区域,其中会隐藏一个精灵,它会识别点击事件。

更奇怪的是你不点击右上角的精灵?

0 投票
1 回答
45 浏览

sprite-kit - 尝试使用 SKCropNode 添加Child - 错误

我正在从事一项球类运动,并且是 Swift 的新手。我正在尝试使用 SKCropeNode 使球具有两种颜色。它抛出此错误:“无法使用类型参数列表(skcropnode)调用addchild”

我尝试了很多不同的东西,但我不确定如何解决这个问题。谢谢您的帮助

0 投票
1 回答
66 浏览

sprite-kit - 使用精灵套件游戏覆盖功能

我正在从 swift 1 迁移我的游戏,但我不知道如何修复此功能。我正在尝试检测是否没有发生触球,这应该使球保持静止。这是我拥有的代码,并且不断收到错误无效的 touchesBegan 重新声明。我不知道如何解决这个问题,我已经被卡住了一段时间,并且在没有触球的情况下无法让球停止移动。请帮忙,谢谢

0 投票
0 回答
150 浏览

objective-c - 如何从 SKCropNode 获取可见内容的框架?

看来,在 SpriteKit 中,当我在 SKCropNode 中使用蒙版来隐藏某些内容时,它无法更改由calculateAccumulatedFrame. 我想知道是否有任何方法可以计算可见框架。

一个简单的例子:

我希望根据裁剪节点掩码par.calculateAccumulatedFrame()返回。(x=0, y=0, width=20, height=20)

我想也许我可以自己将该函数编码为一个扩展,该扩展基本上重新实现calculateAccumulatedFrame,支持检查 SKCropNodes 及其掩码,但我想到我需要考虑该掩码的 alpha 以确定是否存在实际增长的内容框架。听起来很难。

有没有简单的方法来计算这个?

0 投票
2 回答
257 浏览

objective-c - 如何防止触摸击中 SKCropNode 中的隐藏内容?

SKCropNode在我的游戏中大量使用,既用于风格用途,也用于我构建自己的 SpriteKit 版本的UIScrollView. 我注意到,当我收到触摸事件或手势识别器在某个点触发时,SKScene.nodeAtPoint(...)仍然会从裁剪节点击中隐藏在触摸点的节点。

如何防止SKScene.nodeAtPoint(...)点击裁剪的内容,而是返回其下方的下一个可见节点?

0 投票
1 回答
221 浏览

ios - 当我在层次结构中添加额外的 SKNode 子级时,SKCropNode 失败

更新:看起来 iOS 10 已经修复了这个问题。我升级到 Swift 3 和 Xcode 8,一切都按预期工作。


我现在已经遇到过几次这个问题,我不知道这是 SKCropNode 中的错误还是我只是在滥用它。也许我缺少一些文档来解释为什么会发生这种情况?


我有一个 100x100 矩形形状的裁剪节点作为蒙版。如果我在其中放置一个蓝色圆圈,它会被正确裁剪。

在此处输入图像描述


现在,当我将同一个圆圈放在一个空的 SKNode 内并将该容器放在同一个裁剪节点内时,裁剪失败。

在此处输入图像描述


但是同一个容器中的精灵似乎被裁剪得很好。

在此处输入图像描述

0 投票
1 回答
245 浏览

objective-c - 如何从 SKShapeNode 中裁剪出 SKLabelNode?

在此处输入图像描述

我想使用下面的步骤来获得上面的效果。


基本上,它由一个背景图像 SKSpriteNode 组成

在此处输入图像描述

我在它上面添加了一个红色的 SKShapeNode

在此处输入图像描述

我想从那个红色 ShapeNode 上剪下 SKLabel 节点。

在此处输入图像描述

我有一个可以伪造这种效果的代码。但是,如果你移动形状节点,那么噱头就会暴露出来。

如果我尝试混合模式,它不会带我去任何地方。]

在此处输入图像描述

0 投票
2 回答
196 浏览

swift - 检测 SKSpriteNode 上具有奇怪形状的图像运行动画的触摸

将 SpriteKit 用于 iOS 9.0 应用程序/游戏(并且没有物理主体)。

我在一个场景中有几个 SpriteNode。SpriteNodes 带有奇怪形状的图像,并通过多个帧运行动画。

检测 SpriteNode 图像内容上的触摸而不是整个图像矩形的透明区域的最佳方法是什么。

我看到很多关于使用 SKCropNode / MaskImage 的帖子。在我的场景中,我为动画的每个 SpriteNode 有多个图像/帧。

请就方法提出建议或指出正确的方向。谢谢。

0 投票
1 回答
793 浏览

sprite-kit - 如何在 SKSpriteNodes 中切割随机孔

除了这里提出的问题:用 SpriteKit 在矩形中画一个洞?本身并没有得到令人满意的回答,两者之间最显着的区别是这个问题需要没有变通方法,并且专门询问反转 SKCropNodes 的功能。

由于孔的随机性、孔的数量以及要应用孔的对象的变化,上述问题的回答方式无法解决这个问题的主要问题。

因此瑞士奶酪的例子:

想象一堆随机大小的矩形 SKSpriteNodes,里面充满了各种深浅不一的奶酪状颜色。

如何通过从每片奶酪上随机切出圆形来制作瑞士奶酪?

如果 SKCropNodes 是圆圈,它们只会留下圆形的奶酪片,而不是从奶酪片上切出洞。有没有办法反转 SKCropNodes 的行为,以便它们切孔?