tvOS游戏开发系列(SpriteKit)之新建tvOS游戏项目(二)

原创
2015/11/21 19:46
阅读数 144

新建tvOS游戏项目

tvOS开发与之前iOS、Mac开发没有太多的区别,毕竟苹果已经很明确的说的tvOS只是iOS系统的一个变种而已。它在iOS的基础上移除了许多不太可能在电视机上使用到的框架,比如WebKit、CoreTelephony、Accounts、AddressBook等。然后也加入了tvOS特有的一些框架,比如TVML、TVJS等,帮助我们开发tvOS应用。我们可以使用Objective-C、Swift和TVJS/TVML等开发应用,但是到目前为止不能开发HTML 5应用,毕竟苹果直接将WebKit框架从tvOS移除了,没有提供网页浏览功能。

  1. 安装好Xcode 7.1,启动Xcode,并选择Create a new Xcode project创建项目

  2. 创建tvOS Application中的Game,创建游戏项目。 创建游戏项目

  3. 使用SwiftSpriteKit开发StickHero创建Swift版SpriteKit游戏

  4. 选择项目存储位置。 项目存放位置

  5. 我们先使用纯代码实现场景和角色,因此可以删除Xcode自动生成的**.sks**场景文件。

输入图片说明

输入图片说明

StickHero项目的结构

tvOSSpriteKit游戏项目的结构基本和普通的iOS应用相同。它们都默认使用Storyboard,并且将初始页面设置为GameViewControllerGameViewControllerself.viewSKView类型。

输入图片说明

SpriteKit框架中使用场景(SKScene)显示游戏中的内容,类似于UIViewController,而场景必须要显示在一个SKView上。SKScene并没有UIViewController这么多呈现方式(presentpush等),而只有替换一种方式。在GameViewControllerviewDidLoad方法中显示整个游戏的第一个场景。

override func viewDidLoad() {
    super.viewDidLoad()
    //创建一个与屏幕等大的场景
    let scene = GameScene(size: self.view!.frame.size)
    //设置视图
    let skView = self.view as! SKView
    //显示帧率
    skView.showsFPS = true
    //显示节点数
    skView.showsNodeCount = true
    /* 优化性能 */
    skView.ignoresSiblingOrder = true
    /* 缩放 */
    scene.scaleMode = .AspectFill
    //显示场景
    skView.presentScene(scene)
}

输入图片说明

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部