点击---->为PIC :) This is my GameScene as of now, its hard coded and linked to a Global File of that holds scene dataSKScene查看渲染问题(见照片)
override func didMoveToView(view: SKView) {
super.didMoveToView(view)
playButton.hidden = true
let background = SKSpriteNode(imageNamed: "us-flag")
background.position = CGPoint(x: size.width/2, y: size.height/2)
background.blendMode = .Replace
background.zPosition = -1
background.size = self.size
addChild(background)
gameOverButton = SKSpriteNode(imageNamed: "gameOver")
gameOverButton.position = CGPoint(x: size.width/2 , y: scene!.frame.height - 200)
gameOverButton.zPosition = 3
gameOverButton.xScale = 1.5
gameOverButton.yScale = 1.5
gameOverButton.hidden = true
addChild(gameOverButton)
gameScore = CustomSKLabel(fontNamed: "Chalkduster")
gameScore.text = "Votes: 0"
gameScore.position = CGPoint(x: Int((self.size.width - gameScore.frame.width)) , y: 22)
gameScore.horizontalAlignmentMode = .Center
gameScore.fontSize = 27
gameScore.zPosition = 3
gameScore.fontColor = SKColor.whiteColor()
addChild(gameScore)
/* for i in 0 ..< 5 { createSlotAt(CGPoint(x: 160 + (i * 170), y: 410)) }
for i in 0 ..< 4 { createSlotAt(CGPoint(x: 240 + (i * 170), y: 320)) }
for i in 0 ..< 5 { createSlotAt(CGPoint(x: 160 + (i * 170), y: 230)) }
for i in 0 ..< 4 { createSlotAt(CGPoint(x: 240 + (i * 170), y: 140)) }
RunAfterDelay(1) { [unowned self] in
self.createEnemy() */
for i in 0 ..< 5 { createSlotAt(CGPoint(x: 680 + (i * 170), y: 535)) }
for i in 0 ..< 4 { createSlotAt(CGPoint(x: 715 + (i * 170), y: 435)) }
for i in 0 ..< 5 { createSlotAt(CGPoint(x: 680 + (i * 170), y: 335)) }
for i in 0 ..< 4 { createSlotAt(CGPoint(x: 715 + (i * 170), y: 245)) }
RunAfterDelay(1) { [unowned self] in
self.createEnemy()
我的游戏场景是硬编码的其他所有场景都建在场景编辑器,我的尝试是一个普遍的应用程序,尚未决定推出针对iPhone只用它正常工作,直到移植的游戏结束了完全以SpriteKit
GameViewController:
if let scene = WelcomeScene (fileNamed:"WelcomeScene") {
let skView = self.view as! SKView
skView.showsFPS = Constant.DEV.DEBUG
skView.showsNodeCount = Constant.DEV.DEBUG
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFit
skView.presentScene(scene)
}
}
override func prefersStatusBarHidden() -> Bool {
return false
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return [UIInterfaceOrientationMask.LandscapeRight ,UIInterfaceOrientationMask.LandscapeLeft]
}
}
GlobalSceneDataSwift:
if let scene = sceneToLoad {
scene.size = size
scene.scaleMode = scaleMode
let transition = SKTransition.fadeWithDuration(3)
self.view?.presentScene(scene, transition: transition)
}
}
}
之前,我搬到SpriteKit一切都被嵌入到GameViewController,我用它作为普通视图控制器和嵌入式子视图,方便GameScene,伟大的工作,直到大约四转,当CPU降至零,内存飙升。所以我去了SpriteKit。所有其他场景对于iPhone来说都很适合。除了GameScene。它引入错误的资产,场景看起来像图片。
的情况下,旧代码从GameScene与UIKit中和SpriteKit混合帮助:
let deviceIdiom = UIScreen.mainScreen().traitCollection.userInterfaceIdiom
switch (deviceIdiom) {
case .Pad:
let active = SKSpriteNode(imageNamed: self.name!)
active.name = self.name
active.size = CGSizeMake(100, 100)
active.position = CGPoint(x: Int(active.frame.width + 0), y: Int(active.frame.height + 10))
addChild(active)
case .Phone: break
case .TV:
let active = SKSpriteNode(imageNamed: self.name!)
active.name = self.name
active.size = CGSizeMake(100, 100)
active.position = CGPoint(x: Int(active.frame.width + 12), y: Int(active.frame.height + 12))
addChild(active)
default: break
}
let w12 = Int(self.size.width/12)
let w6 = Int(self.size.width/6)
let w5 = Int(self.size.width/5)
let h3 = Int(self.size.height/3)
for i in 0 ..< 5 { createSlotAt(CGPoint(x: w12 + (i * w5), y: h3 + 120)) }
for i in 0 ..< 4 { createSlotAt(CGPoint(x: w6 + (i * w5), y: h3 + 60)) }
for i in 0 ..< 5 { createSlotAt(CGPoint(x: w12 + (i * w5), y: h3 + 10)) }
for i in 0 ..< 4 { createSlotAt(CGPoint(x: w6 + (i * w5), y: h3 - 50)) }
RunAfterDelay(1) { [unowned self] in
self.createEnemy()
}
}
林与SpriteKit,独唱坚持,因为老实说,它是一个稳定得多,有过渡的场景特别是有很多移动部件。场景尺寸1920 * 1080背景图像与该设置相匹配,我选择了这种尺寸以防我稍后决定移植到Apple TV。再次感谢所有花时间在这里回答问题的人。 PIC包括
传统 UPDATE 清产核资,发现的背景大小被关,被这个游戏的一部分被创造两个月前我忘了,我手动调整代码中的图片****没有解决完全没有问题,我的图像显示,背景看起来不像野餐毯子。
像素是免费的 – upallnight