- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试生成几乎与屏幕边缘接壤的圆圈。我尝试创建自己的坐标生成器,我的问题是我随机生成的圆圈只出现在屏幕的顶部和底部。这是它正在做的事情的截图: http://imgur.com/oP5Wvne
我不知道为什么会这样,因为当我打印圆位置的 x 和 y 坐标时,它说这两个点都小于框架的宽度和高度。在我的 GameScene.swift
中,我调用了这个函数。
private func generateRandomCoorindates() -> CGPoint {
let randomNumber = arc4random_uniform(2)
var xCoordinate: Double
var yCoordinate: Double
if randomNumber == 0 {
var _xCoordinate: Double {
let _randomNumber = arc4random_uniform(2)
//x-corrdinate either 50 or width-50
if _randomNumber == 0 {
return 50
} else {
return Double(self.frame.width - 50)
}
}
xCoordinate = _xCoordinate
//random y-coordinate from 50 to height-50
yCoordinate = Double.random(lower: 50, upper: Double(self.frame.height) - 50)
}
else {
//random x-coordinate from 50 to width-50
xCoordinate = Double.random(lower: 50, upper: Double(self.frame.width) - 50)
var _yCoordinate: Double {
//y-coordinate either 50 or height - 50
let _randomNumber = arc4random_uniform(2)
if _randomNumber == 0 {
return 50
} else {
return Double(self.frame.height - 50)
}
}
yCoordinate = _yCoordinate
}
return CGPoint(x: CGFloat(xCoordinate), y: CGFloat(yCoordinate))
}
我的扩展是:
public func arc4random <T: IntegerLiteralConvertible> (type: T.Type) -> T {
var r: T = 0
arc4random_buf(&r, Int(sizeof(T)))
return r
}
public extension Double {
public static func random(lower lower: Double, upper: Double) -> Double {
let r = Double(arc4random(UInt64)) / Double(UInt64.max)
return (r * (upper - lower)) + lower
}
}
最佳答案
当您只需要一个计算属性时,我不确定您为什么选择扩展 Double
- 这似乎使事情变得过于复杂。这是一个函数,它会返回屏幕边缘某处的随机点,并且需要的代码要少得多。
let screenwidth = UIScreen.mainScreen().bounds.width
let screenheight = UIScreen.mainScreen().bounds.height
func randomCoordinates -> CGPoint {
var coordinates = CGPoint()
let randomX = arc4random(screenwidth) - screenwidth/2 // subtracting half of the screen to center it
let randomY = arc4random(screenheight) - screenheight/2
let randomDirection = arc4random_uniform(4)
switch randomDirection {
case 0: returnCoordinates = CGPoint(x: randomX, y: screenheight/2) // north edge
case 1: returnCoordinates = CGPoint(x: screenwidth/2, y: randomY) // east edge
case 2: returnCoordinates = CGPoint(x: randomX, y: -screenheight/2) // south edge
case 3: returnCoordinates = CGPoint(x: -screenwidth/2, y: randomY) // west edge
}
return coordinates
}
关于ios - 如何创建几乎与我的 GameScene 接壤的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851306/
我正在我的 SpriteKit 游戏中构建一个 PauseButton 类,我想在 GameScene 激活时绘制一个标签。但是,我需要在 didMoveToView 之外实例化按钮(就在它之前 -
GameScene.sks 和 GameScene.swift 有问题。我试图为我的项目添加一个标题屏幕,但它从那里走下坡路。标题屏幕工作正常,但问题是当我编辑 Gameviewcontroller.
我正在学习 SpriteKit 并开始了一个使用关卡编辑器的小项目。 但是,由于某些原因,GameScene.swift 和 GameScene.sks 似乎没有关联。下面是 .sks 文件设置的屏幕
我的 xCode 项目有问题。我有一个完整的 gamescene.swift 代码文件(600 行)。但是代码不会运行。当我在模拟器中运行我的游戏时,模拟器会显示标准的 gamescene.sks 颜
好吧,我在 Swift 中创建了一个 sprite kit 游戏,我需要展示一个新的 SKScene OVER(因为在新场景中会有一个清晰的背景,所以你仍然可以看到 GameScene 下面)我原来的
遵循 YouTube 上的 Swift 教程。尝试制作游戏。本教程显示了一个 GameScene.swift 文件和一个 GameScene.sks 文件,而我的没有显示。我错过了什么地方的设置吗?与
我一直在玩弄 SpriteKit,并且对如何从代码驱动它有了相当不错的感觉,但我对 Xcode 6 中包含的关卡编辑器感到非常困惑。 我看过 wwdc 视频(“platforms state of u
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 6 年前。 Improve t
Stackoverflow 新手,如果我发布错误,非常抱歉!谢谢 我的应用程序是一个有时间限制的迷宫游戏,一旦时间达到 0,游戏就会结束并进入游戏结束屏幕(单独的 swift 文件),这由一个“重播”
我已经搜索了几个小时,但没有结果。也许我只是在寻找一个简单的解决方案,但我想知道如何以及在哪里更改启动应用程序时自动启动的场景。在我的项目中制作主菜单或制作人员名单场景。 最佳答案 您需要转到 Vie
在付费网站上的一些教程中,我了解到您可以通过简单地再次呈现相同的场景来重玩游戏,但我无法再访问该教程,所以我不确定我做错了什么。如果我没记错的话,教程使用了类似的内容(在 GameScene 类中):
我的 GameScene 中有我的游戏说明,完成说明后我按下按钮转到 GamePlay 场景,我希望 GameScene 在我再次打开我的应用程序时不再出现。我希望 GamePlay 场景在我下次打开
我的游戏已经准备就绪,我唯一缺少(并想添加)的是向社交媒体分享标准消息的选项。我环顾四周,发现了不同的方法来做到这一点,但当我实现它们时,它们似乎都不起作用。我有一种感觉,我做错了可能很简单! 这是我
我正在使用 swift 和 SpriteKit,我遇到了一个问题,我认为我的 GameScene 比我设备的屏幕尺寸宽。我需要做的是移动图像,然后不允许它移过屏幕边缘。 我现在所处的位置是我的图像将与
所以我已经阅读了几个关于此的问题,但大多数都是在 Objective-C 中,我还没有找到任何直接解决/回答这个问题的问题。我是这里编程的新手,所以请非常彻底地解释任何建议。 我需要了解如何在游戏结束
您好,我的问题只是如何在 GameScene 中取消隐藏按钮。我有一个在 Storyboard中设置的 segueToMainMenu 按钮。这就是我的 GameViewController 的外观:
您好,我的问题是,当我单击按钮重新启动游戏时,它会重新启动,但如果我单击转换到 MainMenuViewController 的按钮,场景就会卡住。有趣的是,如果我重新启动游戏并首先单击segue按钮
我是一个菜鸟,所以,如果这是一个非常基本的问题,请原谅我。我正在创建我的第一个应用程序,它是一个游戏。对于一个文件来说,代码变得太大了(一直上下移动很烦人)。所以我把我的函数放在其他文件中。问题是 a
我正在尝试制作一个简单的 2D 平台游戏。我决定使用 SpriteKit 引擎提供的 Sprite ,而不是导入 Sprite :在 GameScene.sks 中,我拖放了一个 Sprite (简单
各位程序员大家好。这是场景。用户可以在游戏过程中访问 InGameMenuScene,从而允许他们访问设置等。 InGameMenuScene 上的按钮之一 BackToGame 应该带您回到最初所在
我是一名优秀的程序员,十分优秀!