好了,本节是我们这系列教程的最后一篇。经过之前的代码磨练,到了最后一步,基本已经没有什么太多的知识点和难点了。最后,我们的程序看起来是非常酷炫的:
从图里可以看到,我们添加了分数和关卡,然后添加了消除方块时的动画效果,其实还有声音。有没有小激动啊,我们这就开始。
首先确保你的属性和图中保持一致。
我们从右下角中找到view,然后把他拖入屏幕中,然后在属性中把它的背景设置成de...
分类:
编程语言 时间:
2015-02-06 16:46:19
阅读次数:
223
本节内容过后,我们的程序运行起来将是这样的:
我们一步一步来,首先添加点击事件:
接触过iOS开发的应该对这些步骤不陌生,我们要添加UITapGestureDetector到view里面。
打开Main.storyboard,界面应该类似于下面这样
在右下角通过搜索找到 Tap Gesture Recognizer 然后把它拖入到GameViewControllerScene ...
分类:
移动开发 时间:
2015-02-06 11:18:49
阅读次数:
219
每个游戏都有它自己的规则,我们的俄罗斯方块的规则很明显,shape落到最底端时就停止下落,然后下一个shape开始往下落;当任一一个点挡住下落的shape时,整个shape就认为是已经到底了;当一行充满所有blocks时,这行消除,然后所有的往下落一行等等等等。
那么我们现在就开始制定我们的游戏规则,本节过后,我们的程序运行起来是这样子的:
我们首先从自定义的协议(protocol)开...
分类:
编程语言 时间:
2015-02-04 23:27:53
阅读次数:
252
上一章节我们完成了shape的建立,现在游戏里面的元素(blocks,shapes)都已经完成了,背景也搭好了(array2D),让我们开始制定游戏规则吧。首先就是需要让我们的shape掉下来,还记得我们刚开始的时候每个600毫秒要刷新一下屏幕呢?那会还有一个closure我们都不太明白是干嘛用的,马上就知道了。
好了,今天章节过后,你的程序运行起来应该是这样的:
让我们来修改代码吧,...
分类:
编程语言 时间:
2015-02-03 22:59:24
阅读次数:
664
The object of art is to give life shape
- William Shakespeare
上一章节我们介绍了这个游戏最基本的组成元素,block,那么接下来我们就开始更为清晰和形象地了解如果做出来俄罗斯方块的shape吧。是的,就是这样的形状:
首先我们来新建一个类,名字叫做Shape;到这里新建一个类的步骤应该很熟练了吧。 我们来修改下面的代码
...
分类:
编程语言 时间:
2015-02-02 18:07:11
阅读次数:
265
虽然自己身为后端工程师,但仍然有一颗前端的??,尤其是游戏前端。所以最近在试着学习如何用js编写html5游戏,并看了一个简单的‘俄罗斯方块’的js游戏源码,结论有以下几点。1、图像效果实现可以基于canvas 和 css 两种,估计多数的js游戏开发引擎也是这样的。2、Js写些简单好玩的游戏所需要...
分类:
其他好文 时间:
2015-01-31 00:20:53
阅读次数:
141
我实在想不出怎么才能起一个好听点的中文名字,还是用原教程中的名字,block party
吧
如果前面的几篇教程你觉得很简单,那么是时候开始加深难度了。 在俄罗斯方块游戏中,我们的主体就是那些形状,而每一个形状都是由不同的块组成的。所以,我们需要建立一个基础类,block,用来为我们更上层的显示打基础。
首先,按照建立二维数组array2D的步骤建立一个新的class,起名叫做Block
...
分类:
编程语言 时间:
2015-01-28 18:04:02
阅读次数:
584
为什么标题要叫做“滴答作响的时钟机制”呢?
想必我们大家都玩过俄罗斯方块,那些不同形状的东西,就是哪些不同形状,你懂的,会随着游戏级别的提高而下降的越来越快。是的 ,我们也要模仿那样,做出我们自己的时钟机制。
我们可以看到SKScene里面有一个函数
update(currentTime: CFTimeInterval)。 这个函数被没一帧所调用。帧,frame, 是什么? 你可以理解一帧就...
分类:
编程语言 时间:
2015-01-28 16:04:42
阅读次数:
508
数组是一个很有用的数据结构,很多程序都建立在数组之上,我很少看到哪个应用程序不用到数组的。
而我们的俄罗斯方块显然也需要数组,而且是更为特殊的 二维数组。
为什么是二维数组呢?其实我们的整个游戏区域,可以看做是一个二维数组区域,就像这样:
我们的每一个block都占据在这样一个20x10的区域之内,20行,10列的一个200个block的二维数组让我们可以根据(x,y)坐标来确定b...
分类:
编程语言 时间:
2015-01-28 11:09:05
阅读次数:
342
如果你已经成功建好了工程,运行之后你会发现是个小飞机的程序,如果我没记错的; 这个程序是spin-the-bottle:Space Edition,但是可惜的是,我们并不需要这些东西,我们需要一个干净的模板,所以,我们需要首先清理下战场,然后把我们需要用到的一些资源放进来。
打开项目导航栏,如下图中圆圈内的图标,或者点击? + 1:...
分类:
编程语言 时间:
2015-01-27 18:33:46
阅读次数:
217