• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Swift游戏开发之俄罗斯方块:No.2 准备工作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

如果你已经成功建好了工程,运行之后你会发现是个小飞机的程序,如果我没记错的; 这个程序是spin-the-bottle:Space Edition,但是可惜的是,我们并不需要这些东西,我们需要一个干净的模板,所以,我们需要首先清理下战场,然后把我们需要用到的一些资源放进来。

打开项目导航栏,如下图中圆圈内的图标,或者点击⌘ + 1:


右键点击GameScene.sks,选择delete


当系统询问的时候,选择move to trash


接下来点击image.xcassets,然后删除spaceship图片


Trimming The Fat

接下来,我们来删除代码中无用的代码,彻底清理出战场:

首先开始清理 GameScene.swift:




注意,

图片中的红色的部分是我们要删除的内容,在之后的教程中,'-'号标红的部分是要删除的内容'+'号标绿的部分是我们要添加的内容

接下来是GameViewController.swift,这里我们需要删除更多的内容






The Sights And Sounds Of Swiftris

然后我们需要添加程序中用得到的图片和声音文件了,从 这里 下载必要的图片和声音文件,把它保存到桌面或者download文件或者其他任意文件,但是不要放到你的工程文件夹中,解压缩之后,

1. 把整个 sounds文件夹拖入到项目的导航栏中,放置于supporting files文件之上,确保一定要选择上copy items if needed,如下图所示:



2. 重复同样的步骤,将Sprits.atlas文件夹拖入导航栏

3. 在Images文件夹下面所有的图片选中,然后在导航栏中打开support files,将选中的所有图片直接拖进去,再次确认 copy items if needed复选框一定要选中

4. 最后一步,打开images.xcassets文件,然后选中AppIcon,分别把解压之后的3个29pt。40pt 和60pt的图片拖到相应的位置

到此为止,所有的图片和声音等资源文件已经加载完毕,让我们开始coding吧!

Start At The Back

开发过iOS的应该对Scene和ViewController不陌生,Scene,顾名思义就是我们能看到的显示在界面上的屏幕,相当于一个舞台;

在这个工程中,GameScene.swift将显示俄罗斯方块,显示背景,显示游戏面板,更远一点,还将用来控制声音等等;

GameViewController.swift,从controller就可以理解,它就是一个控制器,相当于MVC模式中的C,控制用户和后台逻辑之间的交互等等。

下面到了写代码的时候了,我再一次把原教材中的句子搬上来:




feel for the language in your fingers! 



声明:

前面的加号不是真的要打上去的加号,而是告诉大家,这行代码是需要我们手动添加上去的

坐标系

SpriteKit是基于OpenGL的,因此它的坐标系统也是iOS原生的cocoa 坐标系,  0,0 在SpriteKit中就是左下角。Swiftris将从上往下,所以,我们的anchor point将从左上角开始,也就是(0,1.0)。 这里可以看到,其实这个是个百分比,坐标的范围是从0到1的,而(0.5,0.5)就是屏幕的中间

let和var

通俗点讲: let是一个常亮,相当于java里面的final; 而var相当于一个变量。
举个来自stackoverflow中的很清晰的例子:

下面这个例子应该更容易懂:

扛得住么?接下来我们来看viewController文件:


?和!

代码中的第一行表示GameScence不是一个optional的变量。
什么是optional?就是这个变量可以是nil的,也可以不是。

Swift typically enforces instantiation either in-line where you declare the variable or during the initializer, init…. In order to circumvent this requirement we've added an ! after the type.

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:


更多详细的解释直接看这个帖子吧:http://www.ruanman.net/swift/learn/4569.html



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift学习笔记(12)--数组和字典的复制发布时间:2022-07-13
下一篇:
swift下的简单的绘图实现发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap