我正在用Swift3和SpriteKit做一个游戏,我试图声明一个全局变量以在GameScene类的其余部分中使用它,但我做不到。我做了什么:classGameScene:SKScene{...letpersonaje=SKSpriteNode(imageNamed:"Ball2.png")...在全局声明之后,我尝试像那样在sceneDidLoad中使用它:...personaje.position=CGPoint.zeroaddChild(personaje)...我不知道为什么,但Xcode返回此错误:***Terminatingappduetouncaughtexception
我一直认为SKNode的zPosition是相对于其父节点的,但现在我遇到了相反的效果。我的场景中有两个父SKNode,它们的zPosition分别为1(node1)和2(node2)。我想要实现的是node2应该始终在node1之上分层。但不幸的是,node1的子节点(其zPosition为1-50)都位于node2的子节点(当前没有zPosition)之上。有没有办法解决这个问题(除了给node2一个超过50的zPosition)?也许是某种bool参数来设置所有子节点相对于其父节点的zPosition?任何帮助将不胜感激!编辑:为了更清楚,这里是所有元素的层次结构:node1:S
只是在玩弄SpriteKit,我正在尝试弄清楚如何将SKNode的“抓取”捕获到UIImage中。对于UIView(或UIView子类),我使用View的layer属性渲染到图形上下文中。例如。#import+(UIImage*)imageOfView:(UIView*)view{UIGraphicsBeginImageContextWithOptions(view.frame.size,YES,0.0f);CGContextRefcontext=UIGraphicsGetCurrentContext();[view.layerrenderInContext:context];UIIm
只是在玩弄SpriteKit,我正在尝试弄清楚如何将SKNode的“抓取”捕获到UIImage中。对于UIView(或UIView子类),我使用View的layer属性渲染到图形上下文中。例如。#import+(UIImage*)imageOfView:(UIView*)view{UIGraphicsBeginImageContextWithOptions(view.frame.size,YES,0.0f);CGContextRefcontext=UIGraphicsGetCurrentContext();[view.layerrenderInContext:context];UIIm
我想让不同物体(Sprite和其他物体)的背景静止。玩家将由将在世界各地移动的中心节点表示。我想将我的相机固定到中央节点,例如世界应该移动,而相机应该保持静止。我该如何实现? 最佳答案 新的SKCameraNode似乎是一种非常简单的方法来做到这一点。https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKCameraNode/简单1)创建一个SKCameraNode//propertiesofsceneclassletcam=SKCam
我想让不同物体(Sprite和其他物体)的背景静止。玩家将由将在世界各地移动的中心节点表示。我想将我的相机固定到中央节点,例如世界应该移动,而相机应该保持静止。我该如何实现? 最佳答案 新的SKCameraNode似乎是一种非常简单的方法来做到这一点。https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKCameraNode/简单1)创建一个SKCameraNode//propertiesofsceneclassletcam=SKCam
我的tvOS应用程序使用如下所示的SKNodes生成游戏板:每个形状由线分隔,是一个可聚焦的SKNode(例如,每个彩色楔形由5个SKNode组成,它们的大小逐渐靠近中心)。我的问题是焦点引擎没有关注下一个焦点项(SKNode),而下一个焦点项(SKNode)感觉像是合乎逻辑的、最自然的下一个要关注的节点。这个问题是因为焦点引擎逻辑是矩形的,而我的SKNodes是弯曲的。正如您在下面看到的,当从最外面的黄色SKNode向下滑动时试图找出下一个可聚焦项目时存在固有问题:在上面的例子中,焦点引擎根据节点的边缘推断出当前焦点区域是红色阴影矩形内的区域。由于这种逻辑,聚焦矩形与不属于当前聚焦节
我的tvOS应用程序使用如下所示的SKNodes生成游戏板:每个形状由线分隔,是一个可聚焦的SKNode(例如,每个彩色楔形由5个SKNode组成,它们的大小逐渐靠近中心)。我的问题是焦点引擎没有关注下一个焦点项(SKNode),而下一个焦点项(SKNode)感觉像是合乎逻辑的、最自然的下一个要关注的节点。这个问题是因为焦点引擎逻辑是矩形的,而我的SKNodes是弯曲的。正如您在下面看到的,当从最外面的黄色SKNode向下滑动时试图找出下一个可聚焦项目时存在固有问题:在上面的例子中,焦点引擎根据节点的边缘推断出当前焦点区域是红色阴影矩形内的区域。由于这种逻辑,聚焦矩形与不属于当前聚焦节
我正在SpriteKit上开发类似Scrabble的游戏,并且一直坚持缩放和滚动拼字板。首先让我解释一下游戏背后的工作:在我的GameScene上我有:一个名为GameBoardLayer(名为NAME_GAME_BOARD_LAYER)的SKNode子类包含以下子类:ASKNodesubclassforScrabbleBoardnamedNAME_BOARD.ASKNodesubclassforLettersTileRacknamedNAME_RACK.字母拼block是从拼block架上挑选出来的,并掉落在拼字游戏板上。这里的问题是,我需要模仿可以通过UIScrollView实现的
我正在对SKNode进行子类化,以通过将这些节点添加到我的子类来呈现由许多SKSpriteNodes组成的map。一切正常,但我注意到我的节点子类的Frame始终为0。我在文档中找不到任何相关信息,所以:我是否应该覆盖Frame属性并返回正确的值? 最佳答案 frame属性是节点本身的框架,忽略任何子节点。对于SKNode,这是一个位置,但宽度和高度为零。Theframeisnon-emptyifthenode’sclassdrawscontent.(https://developer.apple.com/reference/spr