草庐IT

Sprite-Kit

全部标签

ios - UIView > SKView ... willMoveFromView : not being called when expected and sprites not being "updated"

也许有人可以给我指出正确的方向,在这里,因为我一直在用头撞墙。让我全神贯注于SpriteKit和UIKit互操作性的主要问题。我的游戏从一个表格View开始,它将所有玩家的游戏保存在单独的单元格中(与friend游戏一样)。当点击一个单元格时,我会加载一个SKView,它会显示一个SKScene,其中包含预先从Parse.com下载的所有相关游戏数据。问题是,由于没有更好的术语,我不知道如何让场景“更新”所有当前的游戏数据。正如预期的那样,呈现的场景仅显示背景图像和一些其他图像,但屏幕上应该显示的Sprite却没有。相反,它是我最后一次从SKScene中滑出时出现在屏幕上的Sprite

ios - 有没有办法创建 SKSpriteNode 的 CGPath 匹配轮廓?

我的目标是创建一个与SKSpriteNode的轮廓匹配的CGPath。这对于创建SKSpriteNode的发光/轮廓以及物理路径很有用。我有过这样的想法,但我并没有真正使用CIImage,所以我不知道是否有一种方法可以在像素级别访问/修改图像。然后也许我可以将这样的东西移植到Objective-C中:http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/也对其他方法持开放态度,这些方法使这个过程自动化,而不是我为我为物理或轮廓/发光效果制作的每个Sprite创

ios - SpriteKit 是否支持 sprite/texture/shape 的密集镶嵌,以便可以自由变形?

例如,如果您有一张蹦床的图片,以及一个在上面跳跃的角色。然后,您想制作蹦床如何在中心向下弯曲的动画。为此,我必须获取位图并将其应用于密集镶嵌的OpenGLES网格。然后对其应用纹理。然后对网格进行变形。SpriteKit支持这个还是只能按原样显示纹理? 最佳答案 在iOS10中,添加了SKWarpGeometry允许您对Sprite进行变形。使用包含八个控制点的源和目标网格定义扭曲,这些点定义扭曲变换;SpriteKit将负责曲面分割和其他底层细节。您可以直接为Sprite设置包裹几何形状,或使用SKActions设置动画变形。SK

ios - Sprite Kit 中一个 child 可以有多个 parent 吗?

我正在开发一款Sprite-Kit游戏,我有一个显示所有关卡的菜单。我创建了一个锁定图像,我想在锁定的级别上显示它,下面是代码:SKSpriteNode*locked=[SKSpriteNodespriteNodeWithImageNamed:@"Locked.png"];locked.position=CGPointMake(0,0);locked.zPosition=2.0;locked.size=CGSizeMake(20,20);然后我想在所有级别上显示它,直到它们被解锁。这是代码:SKSpriteNode*level2=[SKSpriteNodespriteNodeWithC

ios - 在 Swift SpriteKit 中的场景之间显示 Admob Interstitial 广告

我想知道如何在展示GameOverScene时设置AdmobInterstitial广告。我应该怎么做才能在游戏结束时仅偶尔显示广告?我如何在Swift中实现它?我指的是这篇文章Howtocalladmobinterstitialadusingswift,spritekitandxcode?但我想知道如何在场景之间调用广告。编辑这是我用来展示广告的代码classGameViewController:UIViewController,GADInterstitialDelegate{varinterstitial=GADInterstitial()varintersitialRecieve

ios - 如果我在没有 SKAction 的情况下直接修改 SKSpriteNode 的位置和旋转,SpriteKit 会应用物理吗?

例如,如果我想制作自己的自定义动画,并通过x+=10以编程方式在每一帧移动一个SKSpriteNode,SpriteKit是否仍会正确应用物理,或者我必须始终使用SKAction? 最佳答案 无论您以何种方式或何时进行操作,都可以手动移动具有物理体的节点。但无论如何都不推荐这样做,因为它会对物理模拟产生不利影响。节点(View)可能与body的位置不同步1帧,您可能会将body移动到物理引擎将强制解决的碰撞中,从而导致跳跃、抖动、爆炸速度或跳过碰撞。当你使用物理时,坚持通过力、脉冲或直接改变body速度来移动物理body。

ios - EXC_BAD_ACCESS 在 dispatch_async 中使用 "freed"self 时

我有一个使用iOS7中新的SpriteKit编写的游戏。我有一个自定义的SKSpriteNode,它可以获取并显示Facebook个人资料图片。但是,由于加载图片可能需要一些时间。我尝试在初始化节点时在后台加载图片,并仅在加载图片时显示它。这是我写的代码片段:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{//CodetoloadFacebookProfilepicture//...SKSpriteNode*fbFrame=[SKSpriteNodespriteNodeWithT

ios - Sprite 套件中的完美弹性碰撞

我有两个质量相等的球直接相互撞击。我似乎想不通为什么来球会有反弹效果。我正在使用sprite套件。我还以为是恢复原状呢。我已将其设置为1(这是我认为应该设置的值),但已经尝试了很多次。我可以消除反弹的唯一方法是改变质量,这会扰乱其他事情。如果速度很慢,它几乎应该停止。但是在更高的速度下会有反弹。他们应该只是交换速度,因为这是正面碰撞。可能是高速时的一些数字舍入之类的吗?http://h2physics.org/?cat=4 最佳答案 实际上restitution0应该禁用任何弹跳效果,1意味着body离开表面的速度与它撞击时的速度相

ios - 手动动画纹理时 SKSpriteNode 拉伸(stretch)

我有一个相当简单的动画,其中包含8个相同大小的图像。我没有使用内置的动画方法,因为我想手动控制动态动画的速度。我正在使用预加载的SKTexture并执行[objectsetTexture:texture];在update:currentTime方法中。问题是有时纹理会变得非常扭曲/拉伸(stretch)。经过大量调试后,我将其缩小为仅在节点静止时发生。事实上,如果我将节点移动一个像素并像这样将其移回原位,问题就不会发生:[selfsetTexture:texture];CGPointcurrentPosition=self.position;self.position=CGPointM

ios - 在 SKScene 上运行 SKTransition 会破坏原始 SKScene 吗?

在SKScene上运行SKTransition会破坏原始SKScene吗?例如:SKTransition*reveal=[SKTransitionrevealWithDirection:SKTransitionDirectionDownduration:1.0];GameConfigScene*newScene=[[GameConfigScenealloc]initWithSize:CGSizeMake(1024,768)]];//Optionally,insertcodetoconfigurethenewscene.[self.scene.viewpresentScene:newSc