草庐IT

ios - SKScene iPad 高度宽度反转

我正在尝试在仅支持横向模式的iPad应用程序中用图block填充我的SKScene。在场景中,我检测到h&w是这样的:inth=[UIScreenmainScreen].bounds.size.height;intw=[UIScreenmainScreen].bounds.size.width;不幸的是,发回的尺寸与它们需要的尺寸相反。在SO中有很多主题在ViewController或View的内容中讨论这个问题,解决方案似乎是在viewWillAppear中检测屏幕大小,而不是在viewDidLoad中。然而,这似乎不是SKScenes的有效解决方案。有什么建议吗?

ios - SpriteKit - 如何正确暂停和恢复应用程序

我在使用GamesbyTutorials这本书的帮助下制作的最新iPhone游戏时遇到了很大的问题。注意:方法来自SpriteKit-therightwaytomultitask不起作用。因此,在我的ViewController.m文件中,我定义了私有(private)变量SKView*_skView。然后,我做这样的事情:-(void)viewDidLayoutSubviews{[superviewDidLayoutSubviews];if(!_skView){_skView=[[SKViewalloc]initWithFrame:self.view.bounds];_skView.

swift - 如何在 SKView 之上添加 UIView?

我想在SKView之上添加一个自定义NSView。但是,它永远不会出现。不知道发生了什么......classGameScene:SKScene{overridefuncdidMoveToView(view:SKView){//TryingtoaddCustomViewletsmallView=NSView(frame:NSRect(origin:CGPoint(x:100,y:100),size:CGSize(width:200,height:200)))letlayer=CALayer()layer.backgroundColor=CGColorCreateGenericRGB(1

xcode - 在 swift sprite 工具包中创建菜单

我正在尝试创建一个名为MenuScene.swift的swift文件,该文件在GameScene.swift之前运行,但我不知道如何操作。我尝试在GameViewController中修改这一行:ifletscene=GameScene(fileNamed:"GameScene"){到:ifletscene=MenuScene(fileNamed:"MenuScene"){但它只是显示一个空白场景。为了让它发挥作用,我还需要做些什么吗? 最佳答案 我知道您通过添加MenuScene.sks文件解决了这个问题,但是如果您已经有了代码文

ios - 以编程方式完成时,SpriteKit 中没有任何内容加载到屏幕

我不明白为什么这行不通,而且似乎场景没有改变,因为背景颜色没有变成红色。这是我的代码:GameViewController.swiftclassGameViewController:UIViewController{overridefuncviewDidLayoutSubviews(){super.viewDidLayoutSubviews()letskView=self.viewas!SKViewifskView.scene==nil{//SetoptionsskView.ignoresSiblingOrder=trueskView.showsFPS=trueskView.shows

ios - 未调用 UIScrollViewDelegate 函数

当我拖动它时,我的View似乎在滚动(边栏出现并四处移动),但我的委托(delegate)函数没有触发。问题:为什么协议(protocol)函数中的println永远不会被调用?作为背景,我正在尝试重写https://github.com/bobmoff/ScrollKit在Swift中,这就是UIView与SKView等混合的原因。我的日志输出是:852.0480.0FinishedviewDidLoad代码是:importUIKitimportSpriteKitvarkViewTransformChanged="viewtransformchanged"varscene=GameS

ios - 如何从 UIViewController 移动到 SKView,反之亦然?

我的想法是在移动到游戏场景之前显示map几秒钟,游戏屏幕层次结构是这样的:GameViewController(UIViewController)->EntryToGameScene(SKView)->MapController(UIViewController)->GamePlayGround(SKView)我在从MapController移动到GamePlayGround时遇到了一个问题,为了能够从Controller移动到场景,我首先将ControllerView类从Storyboard更改为SKView,然后我添加了以下代码⬇️。在handleDelay()方法正在运行,游戏场

swift - 'SKView ?' does not have a member named ' 边界'

我最近遇到一个代码错误,想解决这个问题。它是快速编码的,我希望你们能帮我解决这个问题。错误说:“SKView?”没有名为“边界”的成员如果你能帮助我,因为这是我的第一个swift应用程序,我会永远爱你:)这里是这个问题的“标题”的代码。overlay=SKSpriteNode(color:UIColor.grayColor(),size:self.view.bounds.size) 最佳答案 SKView?没有bounds类型的属性(注意?),但是SKView!可能。在第一个示例中,您遇到错误的那个示例中,您没有隐式解包可选。为此,

ios - 如何在 SKView 之上添加 SCNView

我正在尝试在SKView之上添加一个SCNView。我的层次结构以UIViewController开始。从那里,我在UIViewController的View之上显示了一个SKScene。然后我添加了几层SKSpriteNodes。从视觉上来说,我想在SKSpriteNodes的顶层之上添加一个SCNView来显示一行SCNBoxes。除了创建另一个UIViewController,将我的所有组件添加到该新Controller之上,然后将其添加到我当前现有的ViewController之外,我还有什么办法可以做到这一点?我会很感激Swift代码的解决方案,但我能够读/写Objectiv

ios - SKScene 如何与其容器 SKView 通信?

我在SKView中显示了一个SKScene。我想要一种将信息从场景发送到View的方法,以供以后与Controller一起使用。例如,考虑将ViewController作为SKView的委托(delegate),SKView需要在某个时间通知UIViewController它呈现的场景的一部分被点击。 最佳答案 SKScene有一个方便的实例成员.view来处理这种情况。要访问标准的SKView方法和属性,您可以像这样使用它:self.view?.addGestureRecognizer(pinchGestureRecognizer