作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在游戏中制作了一个重玩按钮,并使用SKTransition重新启动游戏。当我触摸“再次播放”按钮时,新场景就会出现。但这个场景的物体比上一个场景的物体大。场景被卡住了。当我触摸“再次玩”按钮时,我无法玩游戏。我应该怎么办?这是我关于按钮和重新启动场景的所有代码:
let playAgain: UIButton = UIButton(frame: CGRectMake(10, 0, 450, 1000))
class GameScene: SKScene {
func buttonPressed(sender: UIButton) {
let pransition = SKTransition.fadeWithDuration(1.0) //create a transition
let gamePlayScene = GameScene(fileNamed: "GameScene") // create a new scene from your file (let variableName = NameOfGameFile(fileNamed: "NameOfGameFile")
self.view?.presentScene(gamePlayScene!, transition: pransition) // present the scene with the transition
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch:AnyObject in touches{...
if(..){...}
else{
playAgain.setTitle("Play Again", forState: UIControlState.Normal)
playAgain.titleLabel!.font = UIFont(name: "Helvetica", size: 50)
playAgain.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)
playAgain.tag = 1
self.view!.addSubview(playAgain)
最佳答案
您的问题是,当您通过播放按钮创建到游戏场景的过渡时,您没有设置场景大小。我刚刚插入了你的代码,它就按照你说的做了。快速地,在创建过渡时设置场景的大小和纵横比是一个很好的做法,比如说回到游戏或从游戏到结束场景,例如获胜场景或宽松场景等。简单的方法是是在声明游戏场景常量后添加场景长宽比,如下代码块:
let pransition = SKTransition.fadeWithDuration(1.0)
let gamePlayScene = GameScene(fileNamed: "GameScene")
gamePlayScene!.scaleMode = SKSceneScaleMode.AspectFill
self.view?.presentScene(gamePlayScene!, transition: transition)
self.playAgain.removeFromSuperview()
我通常喜欢为游戏的戏剧性方面创建等待一两秒的时间,因此我使用以下内容,这与您所做的非常相似,但在场景触发之前会产生一些延迟,以下是我用的,如果你愿意的话可以随意更改。
let wait = SKAction.waitForDuration(1.5)
let theGameScene = GameScene(size: self.size)
theGameScene.scaleMode = SKSceneScaleMode.AspectFill
let theTransition = SKTransition.fadeWithDuration(1.0)
let changeScene = SKAction.runBlock{
self.scene?.view?.presentScene(theGameScene, transition: theTransition)
}
let sequence = SKAction.sequence([wait, changeScene])
self.runAction(SKAction.repeatAction(sequence, count: 1))
祝你好运,继续编码并提出问题。
关于xcode - “再玩一次”按钮无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35657330/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!