草庐IT

Sprite-Kit

全部标签

iOS - 将点从一个坐标系转换到另一个坐标系

我的图标是节点“shelf”的子节点,它是“self”(场景)的子节点。我还有作为节点“vehicle”的子节点的装饰,它也是“self”的子节点。当一个图标被拖离架子并拖到车辆上时,图标节点将被移除并在其位置生成一个装饰节点,它成为“车辆”而不是“架子”的子节点。这是一个问题:当装饰节点生成时,它在场景中跳得很远,因为“货架”和“车辆”的坐标系不协调。如何将新的装饰节点从它在“货架”节点中的位置转换到它在“车辆”中的新位置,这样它就不会跳了?(如果你需要的话我可以贴出代码,但是会很长很乱。) 最佳答案 假设您正在使用SpriteK

ios - 在 Sprite Kit 中暂停游戏 : Why doesn't this work?

所以我在我的游戏中添加了一个暂停按钮,并且可以卡住和解冻View。但是,如果View当前被卡住,我希望它在屏幕上显示一条消息“暂停”。但如果我触摸我的暂停按钮,它不会显示标签。这真的很奇怪,因为我发现如果我将我的设备转到横向模式,就会出现“暂停”消息。(反之亦然,所以如果我在横向模式下触摸按钮并将设备转为纵向,则会出现暂停标签)谁能解决这个问题?顺便说一句:我也尝试了不同的方法来做到这一点,比如在场景开始时立即初始化暂停标签,并在需要时隐藏/显示它。这也没有用。我还尝试在更新方法中使用if语句来做到这一点(如果场景暂停=>显示暂停标签)这也没有用。我之前在这里和appledevforu

ios - SpriteKit - 如何使用 "Flapper"使奖励轮变慢?

我正在尝试使用sprite工具包制作命运之轮风格的游戏。但是我卡住了。好的,我有两个SKSpriteNode(带有物理体)。旋转得很好的轮子和“挡板”(也就是使奖轮减速并指示您赢得了什么奖品的东西。挡板不断向上推,而不是旋转并减慢轮子的速度。我的问题是:A)如何防止“挡板”向上移动,而不是在顶部保持静止并使轮子减速。B)如何使“挡板弯曲而不是简单地被插入”。C)为什么轮子不会旋转不止一次?(注意:我尝试添加[wheelremoveAllActions];在每次touchesBegan之前:代码:-(id)initWithSize:(CGSize)size{if(self=[superi

ios - 过渡到新 SKScene 时粒子效果消失

我正在使用SpriteKit开发一款游戏。我有一个粒子效果,当一个物体与另一个物体碰撞时会运行;但是,当我将过渡添加到另一个SKScene时,这种粒子效果似乎消失了。是什么导致了这种消失,我该如何解决这个问题?编辑:所谓消失,是指当场景仍在转换且所有Sprite仍在显示时,它不会出现在当前场景中。它有2秒的时间间隔,所以我不应该能够看到它吗?下面是粒子效果和场景转换的代码:-(void)player:(SKSpriteNode*)playerdidCollideWithEnemy:(SKSpriteNode*)enemy{Enemy*monster=(Enemy*)enemy;if(!

ios - SpriteKit 节点旋转问题

我正在尝试为iOS开发一款涉及布娃娃类实体的基本游戏。基本上(如下所示),我有一个头、一个body和一个右臂(这三个都是基本的sprite节点)通过针关节连接,模拟人体中的关节(大致)。头部和body完美配合,当施加力时,body围绕头部完美旋转,最终在头部下方垂直静止(见图)。ARM的底部用一个销接头固定在body上,应该围绕其底部旋转(有点像肩膀),并且它的初始旋转设置为45度,所以它看起来像物理之前的ARM引擎接管。我的问题是:为什么ARM不会因重力而停留在垂直位置(就像body一样)?难道重力不应该导致ARM围绕其底部旋转,直到ARM尖端直接位于ARM顶部(肩部)下方吗?此外,

ios - 如何正确打开和关闭 SKNode 的 SKEffectNode?

如果选择了一个节点,我想显示一个效果节点。如果没有,我想关闭/删除该效果。(我将一个节点设置为在touchesBegan中选中。)我使用下面的代码。打开和关闭效果节点让我很困惑,因为我将主节点添加到效果节点中。我应该如何在不丢失主节点的情况下将其关闭?我可以将效果的颜色更改为透明以隐藏它,但它听起来不像是正确的方法......将主节点从效果节点移动到效果节点的父节点可能有效但我必须再次重新定位它所以它不会'听起来也不是正确的方式..执行此操作的正确方法之一是什么?(正确=在不增加编码复杂性的情况下有利于性能)SKShapeNode*tile=[SKShapeNodenode];[til

ios - 使用 SpriteKit 和内置物理引擎移动和跳跃 Sprite

我目前正在为iOS开发平台游戏,并决定使用SpriteKit。我已经通过了thisplatforminggametutorial,但我想使用内置的物理引擎而不是自己制作。我在网上搜索了好几天都没有找到关于如何使用SpriteKit创建具有跳跃和移动的平台游戏的好教程,所以我决定在这里问问。我也尝试过许多不同的实现,但它们都“感觉”不对。要么是运动、跳跃有问题,要么最常见的是两者都有。那么让Sprite在屏幕上移动和跳跃的最佳方式是什么?在经典的平台游戏风格中,我希望“相机”在沿x轴移动时跟随Sprite。最好的方法是更改​​Sprite的x值,然后立即将背景置于Sprite的中心吗?还

ios - 在 Sprite-Kit 中滚动 Tilemap(JSTileMap 故障)

由于JSTileMap扩展了SKNode,您可以使用API像任何其他节点一样移动和动画化您的tilemap。但是,我不断收到这种奇怪的效果/故障...代码:_tiledMap=[JSTileMapmapNamed:@"Cloud.tmx"];if(_tiledMap){[selfaddChild:_tiledMap];}_tiledMap.position=CGPointMake(800,0);SKAction*scrollLeft=[SKActionmoveTo:CGPointMake(600,0)duration:4];SKAction*scrollRight=[SKActionm

iOS 应用程序在 iOS 7 上崩溃仅使用 Xcode 6.0.1 - 无法识别的选择器发送到实例

我正在从事移动应用开发,最近一直在研究移动游戏。我偶然发现了一个GithubRepo(Here)。这是一款使用我正在尝试学习的SpriteKit构建的游戏。我尝试在运行iOS7的iPhone上使用Xcode6.0.1构建和运行它,但它崩溃了。它在运行iOS8的设备上运行良好。我添加了一个断点异常来尝试确定崩溃的原因,这是我得到的:2014-09-2514:23:35.813spritybird[4470:60b]-[Scenedelegate]:unrecognizedselectorsenttoinstance0x175de140(lldb)它似乎在Scene.m文件的第61行中断。

ios - 抓取一个 SKNode 并显示其下方的 SKNode ,效果类似于删除有雾的玻璃

基本上我想实现这样的目标:https://github.com/moqod/iOS-Scratch-n-See在SpriteKit中。在SKScene中,我有一张汽车图像,2-3种不同类型的污垢图像层,一层肥皂,一层水滴,这些层我的意思是它们都是UIImage形式并且等于车架的尺寸(我最终可以用作SKTexture和SKNode)。上面提到的项目相互添加UIImageView而不是删除图像。我需要管理很多层,比如如果选择了肥皂工具,我想调出污垢图像层,在用户触摸的任何地方删除污垢图像,然后在它下面放置肥皂图像(半透明),现在可以看到在它下面是汽车图像。合并它们(一半删除/一半存在污垢+