草庐IT

Sprite-Kit

全部标签

ios - 如何以可变速度沿 CGPath 移动 Sprite

我正在编写一个游戏,并希望沿着固定路径(直线和曲线-想想铁路引擎)移动Sprite,但我希望能够根据Sprite速度来驱动动画-并根据响应改变该速度游戏事件。followPath:duration:在SKAction中很接近,但似乎没有办法“即时”调整速度-我绝对关心Sprite速度-而不是“跟随路径的持续时间”。CGPath似乎是定义Sprite路径的正确构造,但似乎没有足够的功能来沿路径抓取点并进行我自己的计算。谁能推荐合适的方法? 最佳答案 您可以使用speed属性调整任何SKAction的执行速度。例如,如果您设置actio

ios - 将生成的 SKTexture 保存到文件

I'venowfiledabugfortheissuebelow.Anyonewithagoodworkaround?我尝试将SKTexture保存到文件中,然后再次加载它,但我没有成功。可以将以下代码片段复制到Xcode启动项目中的GameScene.m。我在generateTexture中使用了textureFromNode,这似乎是我的问题的根本原因。如果我使用来自sprite的纹理,代码可以运行,并且可以看到两艘宇宙飞船。此代码在iOS8中有效,但在Xcode7和iOS9中停止工作。我只想在提交错误报告之前验证这是一个错误。我担心的是我对NSKeyedArchiver做错了什么

ios - 如何保护 images.xcassets 不被窃取?

基本上我正在开发一个应用程序,其中包含多个受版权保护的图像(这些图像属于我工作的协会),我正在寻找一种方法来保护或阻止用户访问这些图像(例如:通过iFunBox或越狱设备上的iFile)。我一直在阅读有关“TexturePacker”的文章,而这正是我一直在寻找的东西:一种带有加密的内容保护,以使数据难以窃取。不幸的是,我在开发中使用的是简单的SpriteKit,我不能使用这个框架。有什么线索吗? 最佳答案 xcassets文件将图像编码为二进制文件,因此您不能简单地通过文件浏览器查看Assets。然而,在谷歌上快速搜索“Asset

ios - Sprite Kit 中允许的 categoryBitMask 的最大数量是多少?

我听说每个SpriteKit游戏只允许使用32个不同的类别位掩码。有没有办法解决?我绝对需要更多(因为游戏是开放世界游戏,所以大约多3-4倍)。我将我的类别位掩码设置如下:staticconstuint64_tboundaryCategory=0x1我什至将uint32_t更改为uint64_t,希望这将使我可以使用的类别位掩码数量翻倍。不幸的是,事实并非如此。如果有人知道绕过此限制的任何技术,我将不胜感激。 最佳答案 关于这个问题,您可以通过多种方式发挥创意。例如,您可以使用节点的名称属性。将你所有的敌人归为一个类别BitMask

ios - Sprite Kit检测触摸位置

我想根据您触摸屏幕的左半部分或右半部分来运行不同的操作。所以当你触摸左半边时一个Action,当你触摸右半边时另一个Action。我想我可以制作一个覆盖一半屏幕的透明按钮图像并使用thiscode触摸时运行一个Action,但我不认为这是要走的路。有没有更好的方法来检测触摸的位置? 最佳答案 覆盖touchesEnded:withEvent或touchesBegan:withEvent:方法来执行此操作:-(void)touchesEnded:(NSSet*)toucheswithEvent:(UIEvent*)event{UITo

ios - Sprite 帧动画 Cocos2d 3.0

我一直在尝试制作一个动画Sprite,它们有很多教程,但它们都是针对Cocos2d2.x的。我的Sprite表名为flappbird.png,.plist名为flappbird.plist我有这段代码,但每次我启动场景时它都会崩溃,这是在我的init方法中//-----------------------------------------------------------------------_player=[CCSpritespriteWithImageNamed:@"monster1.png"];//comesfromyour.plistfile_player.positio

ios - SpriteKit : SKScene Freeze when modal view pesented

我在使用SpriteKit时遇到以下问题。我从另一个viewController中呈现一个模态viewController,该View是一个SKView,问题是当我关闭模态viewController时,SKView中的SKScene卡住,如果我再次呈现和关闭模态视图,它会解冻。它正在切换...奇怪的是,当场景解冻时,我可以看到动画在背景中继续,因为Sprite的位置与卡住前的位置不同。更奇怪的是,它只发生在实际设备测试时,而不是模拟器中。我看到了这个问题:iAdsandSpriteKit:SKSceneFreezeonfullscreenexitondeviceonly但它没有答案,

ios - 如何以编程方式在 Spritekit 中截取屏幕截图?

我一直在阅读有关如何以编程方式截取屏幕截图的已解决问题,但我似乎无法将我所阅读的内容用于sprite工具包。例如:这个问题HowtotakeascreenshotprogrammaticallyUIGraphicsBeginImageContext(self.window.bounds.size);[self.window.layerrenderInContext:UIGraphicsGetCurrentContext()];UIImage*image=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageConte

ios - 将 SKSpriteNode 掩蔽为液体

我想创建一个液体动力学。我搜索了很多,创建了随着设备运动而移动的球,但我不知道如何让球看起来像液体。我猜这是一些面具,但我没有找到如何去做。有人可以帮我吗?谢谢。 最佳答案 在游戏中看起来像液体的东西通常遵循以下模式(有很多方法可以做到这一点,使用滤镜、着色器、您自己的自定义opengl东西):很多球彼此相邻球具有alpha渐变。所以基本上,如果你在photoshop中用黑色在alphachannel上做一个径向渐变,你会得到一个非常模糊的球。或者只是在photoshop中画一个黑球并模糊它。你明白了。你很难对比(阈值)一切。实际上

ios - SpriteKit 和可滚动列表

我一直在尝试找出一种“简单”的方法来为我的SpriteKit游戏提供可滚动的垂直列表。我将使用它来实现游戏的商店/升级部分,因此我希望用户能够向下滚动列表以查看可能的不同升级。我看过很多关于将UIScrollView集成到SpriteKit中的帖子,但其中大多数似乎会滚动整个屏幕。我目前拥有的是:-(void)createSceneContents{[supercreateSceneContents];_scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(10,100,250,200)];_scrollView.content