一步一步教你用Swift开发俄罗斯方块:No.2 准备工作

如果你已经成功建好了工程,运行之后你会发现是个小飞机的程序,如果我没记错的; 这个程序是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

时间: 2024-11-16 18:50:19

一步一步教你用Swift开发俄罗斯方块:No.2 准备工作的相关文章

一步一步教你用Swift开发俄罗斯方块:No.1 建立你的第一个Swift游戏工程

原文地址:https://www.bloc.io/tutorials/swiftris-build-your-first-ios-game-with-swift#!/chapters/677 好了,我们正式开始我们的swift游戏开发! 首先,需要新建一个工程,熟悉iOS开发的童鞋应该对这个步骤不会陌生.我们还是一步一步来吧: 这里有两种途径建立全新的工程,你可以: 如果你的Mac没有运行Xcode,请打开它,然后在欢迎页面点击Create a new Xcode project 这里我还是要重

一步一步教你用Swift开发俄罗斯方块:No.7 下落机制

上一章节我们完成了shape的建立,现在游戏里面的元素(blocks,shapes)都已经完成了,背景也搭好了(array2D),让我们开始制定游戏规则吧.首先就是需要让我们的shape掉下来,还记得我们刚开始的时候每个600毫秒要刷新一下屏幕呢?那会还有一个closure我们都不太明白是干嘛用的,马上就知道了. 好了,今天章节过后,你的程序运行起来应该是这样的: 让我们来修改代码吧,这次要修改的代码比较多,而且没有上一章节那样重复的工作.不用太过担心,我们一步一步来: 在#1, 函数在执行时会

一步一步教你用Swift开发俄罗斯方块:No.3 二维数组

数组是一个很有用的数据结构,很多程序都建立在数组之上,我很少看到哪个应用程序不用到数组的. 而我们的俄罗斯方块显然也需要数组,而且是更为特殊的  二维数组. 为什么是二维数组呢?其实我们的整个游戏区域,可以看做是一个二维数组区域,就像这样: 我们的每一个block都占据在这样一个20x10的区域之内,20行,10列的一个200个block的二维数组让我们可以根据(x,y)坐标来确定block的位置,而这些blocks其实就是组成我们的L形,或者Z形 等等不同但我们都熟知的俄罗斯方块: swift

一步一步教你用Swift开发俄罗斯方块:No.6 变形记

The object of art is to give life shape - William Shakespeare 上一章节我们介绍了这个游戏最基本的组成元素,block,那么接下来我们就开始更为清晰和形象地了解如果做出来俄罗斯方块的shape吧.是的,就是这样的形状: 首先我们来新建一个类,名字叫做Shape:到这里新建一个类的步骤应该很熟练了吧. 我们来修改下面的代码 在代码的第一部分,我们先建立了一个枚举类型,这个enumeration用来辅助我们定义我们的shape的4个方向,无

一步一步教你用Swift开发俄罗斯方块:No.4 滴答作响的时钟机制

为什么标题要叫做"滴答作响的时钟机制"呢? 想必我们大家都玩过俄罗斯方块,那些不同形状的东西,就是哪些不同形状,你懂的,会随着游戏级别的提高而下降的越来越快.是的 ,我们也要模仿那样,做出我们自己的时钟机制. 我们可以看到SKScene里面有一个函数 update(currentTime: CFTimeInterval). 这个函数被没一帧所调用.帧,frame, 是什么? 你可以理解一帧就是一副静态的图片,如果很多图片在很短的时间内连续播放,就成了动画.当你的眼睛开始去预知每一帧图像

一步一步教你用Swift开发俄罗斯方块:No.0

花了一周时间,按照Swift的开发教程,各种查阅资料,各种google,总算把俄罗斯方块游戏写完了,也想写个系列教学blog:因为虽然看着教程不长,但是对于从零学Swift的我,中间还是遇到了很多困难,好多bug不知道是怎么出来的,都是经过很纠结的过程才一一克服掉的,所以,这篇中文版的系列教学,也算是个为想学swift而又无从下手的童鞋们图个方便吧. 先上一个最终版本,基本效果就是这样,添加了动画效果和音效等等,其实还有很多事情可以做,只要照着这系列的blog进行下去,相信大家最终都创造出有着自

一步一步教你用Swift开发俄罗斯方块:No.5 Block Party

我实在想不出怎么才能起一个好听点的中文名字,还是用原教程中的名字,block party 吧 如果前面的几篇教程你觉得很简单,那么是时候开始加深难度了. 在俄罗斯方块游戏中,我们的主体就是那些形状,而每一个形状都是由不同的块组成的.所以,我们需要建立一个基础类,block,用来为我们更上层的显示打基础. 首先,按照建立二维数组array2D的步骤建立一个新的class,起名叫做Block 按照下面修改你的block类 可能你已经猜到了,这不是我们block 类的全部内容. 这部分只是定义了一个e

一步一步学习Swift之(一):关于swift与开发环境配置

一.什么是Swift? 1.Swift 是一种新的编程语言,用于编写 iOS 和 OS X 应用. 2.Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制. 3.Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣. 4.Swift 是基于成熟而且倍受喜爱的 Cocoa 和 Cocoa Touch 框架,它的降临将重新定义软件开发. 5.Swift 是编写 iOS 和 OS X 应用的极佳手段,并将伴随着新的特性和功能持续演进.

教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证

前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真不少,而且网上的关于此空间的帖子要么千篇一律,要么语焉不详,现总结为图文教程系列 帐号注册和验证 打开https://www.openshift.com/products/pricing,出现三种选择,前2种是免费的,建议选择第二个. 点击Create one跳转到创建用户界面 看到如下信息,填写邮箱和密码,