Sprite Kit(swift开发)
文章平均质量分 72
PMST
keep running
展开
-
02.SpriteKit前瞻之视图场景
SpriteKit前瞻绘制你的“世界”——视图中呈现场景 强调两个单词以及框架说明: 视图:View 场景:Scene 框架:Sprite Kit 简称SK,框架中的视图,就叫做SKView;场景,叫做SKScene等,SK作为前缀被方便记忆。本文只是前瞻,因此你只需要报着欣赏的态度去阅读即可,详细内容会在后文给出。记住:动画和渲染都由SKView对象执行。拿出你的iPhon原创 2015-02-20 12:13:18 · 1393 阅读 · 0 评论 -
15.精灵进阶之给节点添加动作
15.给节点添加动作上集团队博客:Optional Swift Blog 个人博客:Colourful Code在场景中随心所欲的绘制精灵固然不错,但这依旧不可阻止它是一张静态图片的命运,这不是游戏!为了提高游戏的可玩性,游戏应该允许我们移动精灵从某位置到另外一个位置,稍稍加上一些逻辑性更佳。Sprite Kit使用动画的主要机制就是Action。到目前为主想必你也见识和了解了一些动作,现在是时候原创 2015-04-21 09:05:00 · 1092 阅读 · 0 评论 -
16.精灵进阶之节点命名
16.精灵进阶之节点下篇一般情况下,想要知道节点正在执行哪个动作,你一无所知;想要移除众多动作中的一个,你却只能删除所有。你还在苦恼吗?那么给“动作命名”(named actions)消除以上所有的障碍。已命名的动作都使用一个独一无二的关键字(key name)来标识自身。如此,你能够移除、找到以及替换掉一个附着于节点之上已命名的动作。对先前代码稍作改变,自然就是给动作添加一个key如下: //注原创 2015-04-28 12:45:41 · 943 阅读 · 0 评论 -
用Swift做个游戏Lecture 03 —— 实现foreground的持续移动
本文任务游戏运行中,Foreground地面持续滚动。持续移动地面任务一需要解决的问题:如何移动地面。如何无缝连接。问题一的解决思路是每次渲染完毕进入update()方法中更新Foreground的坐标位置,即改变position的x值。问题二的解决思路是实例化两个Foreground,相邻紧挨,以约定好的速度向左移动,当第一个节点位置超出屏幕范围(对玩家来说是不可见)时,改变其坐标位置,原创 2015-10-09 15:54:04 · 603 阅读 · 0 评论 -
用Swift做个游戏Lecture01 —— 初窥游戏场景
作者:PMST简书博客 VERSION:V1.0 NOTICE:目前第一版以叙述内容为主,之后对其中一些细节知识点进行讲解。 更新时间:每周日本教程参考自RayWenderlich的视频教程How To Make a Game Like Flappy Bird Series (Swift)。本教程中,你将从无到有亲自开发一个基于SpriteKit框架的Flappy bird小游戏原创 2015-10-09 15:50:45 · 999 阅读 · 0 评论 -
用Swift做个游戏Lecture02 —— Player的诞生
01.添加游戏音乐音乐主要有:Player挥动翅膀上升的声音、撞击障碍物的声音、坠落至地面的声音、过关得分的声音等等。请打开项目看到Resource中的Sounds文件夹,包含了上述所有声音,格式为.wav 。SpritKit提供playSoundFileNamed(soundFile: , waitForCompletion wait: )->SKAction方法用于实现音乐的播放,注意播放音乐也原创 2015-10-09 15:52:11 · 744 阅读 · 0 评论 -
用Swift做个游戏Lecture04 —— 仙人掌的狙击
本节任务:随机生成障碍物,且一对障碍物上下相距距离固定,但位置随机。几种情况:y position = 0的情况: y position = playableStart的情况:y position = playableStart - 障碍物.size.height/2的情况:推导一般情况下的公式:y position = playableStart - 障碍物.size.height/2 +原创 2015-10-09 15:55:28 · 693 阅读 · 0 评论 -
用Swift做个游戏Lecture05 —— 真实的物理世界
友情提示:为了方便大家快速上手项目,我上传了课时的教程至github,请找到Code文件夹中->L05文件夹->FlappyBird-Start下载。倘若你觉得文章还不错,请关注我并点击喜欢,这是对我写文章最大的鼓励。游戏的雏形已经基本实现,呈现了背景,地面持续滚动,Player上下跳窜以及源源不断的仙人掌。不过细心的你也应当发现有以下几个不足:Player可以通过不断点击升高到屏幕外。仙人掌原创 2015-12-30 13:00:27 · 928 阅读 · 0 评论 -
用Swift做个游戏Lecture06 —— 碰撞的检测
前文已经为各个精灵新增了Physics Body,设置了三个掩码:categoryBitMask表明了分属类别。collisionBitMask告知能与哪些物体碰撞。contactTestBitMask则告知能与哪些物体接触。现在遗留的问题是如何检测碰撞?难道是在update()方法进行检测:遍历所有的节点,通过判断节点的位置是否有交集吗?天呐!这也太麻烦了。确实,如果通过自己实时检测实在过原创 2015-12-30 13:01:11 · 934 阅读 · 0 评论 -
用Swift做个游戏Lecture07 —— 老板,来块记分牌!
“Hey!我昨天Flappy Bird得了100分!!!”“我叶良辰表示不服!” Lecture06课时完毕,我们已经初步完成游戏的主体,可惜却没有一个衡量得分的标准。类似FlappyBird游戏,当然是谁通过的障碍物越多,就越牛逼。不如我们设定如下规则:通过一对障碍物得1分。触碰地面或者障碍物判定失败,结算分数。当前任务主要分为:显示分数牌如何判断通过障碍物。01.显示分数牌像Fl原创 2015-12-30 13:03:18 · 676 阅读 · 0 评论 -
用Swift做个游戏Lecture08 —— Show Me 得分面板!
课时7中实现了得分机制,当你越战越勇,得分也蹭蹭地往上加,不过马有失蹄,人有失足,总会不小心失败,这时候就要结算你的劳动成果了:通常都是告知游戏结束,得分几何,最好成绩等等信息。咱们游戏是这么设计的:本文任务:当游戏结束时呈现上图的内容。思路:简单来说就是实例化几个特定纹理(你可以理解为照片image)的精灵,然后按照特定布局放置到屏幕中,是不是灰常简单呢?01.使用NSUserDefaul原创 2015-12-30 13:04:00 · 774 阅读 · 0 评论 -
用Swift做个游戏Lecture09 —— 服务员,说好的菜单呢?
Lecture08课程结束,我们已经走过了90%,剩下的10%是对游戏体验的改进罢了。就比如,刚启动游戏,“Player”就出现在屏幕中Flap一下翅膀,然后还没等用户清楚这个游戏是什么情况的时候,“Player”已经坠地阵亡了。这种游戏体验可谓是差到极致,试想一个用户下载游戏并启动,此时还对游戏没有一丝认知,渴求先看看帮助说明或者玩法介绍之类吧!因为本课程中,将剔除早前的直接进入游戏的弊端,通过添原创 2015-12-30 13:04:36 · 683 阅读 · 0 评论 -
14.精灵进阶之干活篇下
14.精灵进阶之干活篇下 首先请允许为我们的团队博客Optional Swift 介绍一番,提供swift基础入门教程讲解,框架学习,UI设计,控件学习等等optional swift team 博客地址前文有提供了一种创建纹理的构造方法,具体是怎么实现的呢?Sprite Kit首先是通过明确的文件名来查找图片文件(非纹理图集),假如没有找到,那么它将遍历app bundle中的所有纹理图集。原创 2015-04-12 12:47:37 · 737 阅读 · 0 评论 -
13.精灵进阶之干活篇
13.精灵进阶之干活篇上前文曾提及一种创建有纹理的精灵一步到位的方法,即在创建sprite同时也创建了相应地texture,不知客官还有印象。无疑这是一种简便的方法,但往往在实际开发一款复杂游戏时,你需要全盘接管纹理,比如遇到以下几种情况: 多精灵之间共用一个纹理(简单理解成可复用的图片吧,虽然不是很恰当)。假如已经创建完一个有纹理精灵,此时你想更换一个新的纹理给它。采用一个纹理集合制作精灵原创 2015-04-11 09:26:57 · 750 阅读 · 0 评论 -
03.sprite_kit前瞻之节点树
Sprite Kit前瞻之节点树 本文仅是前瞻,只需抱着欣赏态度阅读即可。 SKScene 类继承自 SKNode 类,SKNode 类继承自UIResponder类。谈完继承关系,我们来说说节点(Node),当我们使用 Sprite Kit 框架时,节点是所有内容的基本构建块,同时场景( scene )对象扮演着节点树的根节点角色。场景和它的后代决定了绘制什么内容以及如何渲染。 在由父类原创 2015-02-22 13:45:09 · 1236 阅读 · 0 评论 -
01.关于sprite_kit
01.关于Sprite KitSprite Kit 提供了图像渲染以及动画基础设施,用于纹理图像或者精灵(sprite)的动画制作。 此外,Sprite Kit采用传统逐帧渲染模式:即每帧先处理帧内容再进行渲染。每一个游戏开发者都是一个“造物神”,决定了游戏世界中每一个场景的内容,以及它们如何相生相息.Sprite Kit 肩负着巨大的任务,它通过图形硬件来渲染动画中的每一帧图像,经过充分优化之后原创 2015-02-19 20:33:53 · 1532 阅读 · 1 评论 -
04.sprite_kit前瞻之纹理
04.Sprite_Kit前瞻之纹理 专业词汇扫盲: textures:纹理,计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常我们更多地称之为花纹。 纹理说白了就是共享的图像,用来渲染精灵(sprites),打个比方呢就是给精灵穿件“衣服”。那么什么时候用纹理呢?比如我们要将一张图片应用到多个精灵时,原创 2015-02-25 11:32:10 · 1149 阅读 · 0 评论 -
05.sprite_kit前瞻之节点的动画
05.Sprite_kit前瞻之节点的动画 注:本文只是前瞻,仅以欣赏角度观看本文。详细内容在之后的文章中提及。 前文提到场景的概念,知道应用中庞大的内容被划分为多个场景呈现,今天更进一步地讨论是场景内容如何动起来,答案是actions.官方文档中提到,每一个action都是由SKAction类定义的对象。首先,我们通知节点(nodes)去执行一系列,之后场景接过众人,处理每一帧的动画(动作原创 2015-02-27 13:03:50 · 984 阅读 · 0 评论 -
06.sprite_kit前瞻之创造“真实”的世界
Sprite kit前瞻之创造“真实”的世界 注:本文是前瞻的最后一篇文章,我们的征程即将开启,当我初学swift开始,同样迷茫,同样前途未卜。回想起初的一个月,初识swift的 正文:前文提及节点树这一概念,俗语说“开枝散叶”,想象下,每一次“开枝”就有可能产生多个新的节点,把最初的那个“枝”(孤零零的一根不开叉的树枝)当做根节点,之后“开枝”过程就是在其上增加新的节点,而新的节点回过头来原创 2015-03-02 12:01:02 · 1009 阅读 · 0 评论 -
07.spritekit征程——创建第一个场景
07.SpriteKit征程——创建第一个场景Sprite Kit 的内容被放置于窗口当中,即那些可视内容。Sprite Kit 之中的内容由SKView 类进行渲染(注:一般将普通的UIView转换成SKView是这么写的let skView = self.view as SKView )。由SKView 对象渲染的内容称之为场景,也就是Scene,它隶属于SKScene类.场景作为一个root原创 2015-03-02 12:01:34 · 1804 阅读 · 0 评论 -
08.spritekit征程——场景中的动画
08.spritekit征程——场景中的动画接着上文,显示静态的文字是否无法满足你的欲望,那么本文的内容绝对让你热血沸腾,记得小时候爱看动画,现在有这么一个机会让你来创作是不是想想都有点小激动呢。 动画的核心呢就是actions。在Sprite Kit 中的大多数action 其实就是改变节点(Node)的属性罢了。假如你还不了解节点是什么,建议好好谷歌百度下,虽说都是最基础的知识,但是我认为“万原创 2015-03-04 11:38:54 · 1094 阅读 · 0 评论 -
09.spritekit征程——场景的切换
09.spritekit征程——场景的切换上文讲到咱们的小精灵(sprite)在场景中“舞动”,枯燥的学习似乎有了那么点意思。我相信各位看官都是想自己开发一款独有的游戏,自然就少不了绚丽的效果以及开场。因此今天咱们来对场景之间的切换进行入门。Sprite Kit对场景之间的切换简单到爆。在下面的例子当中,我们将创建第二个场景来学习其他游戏特性。前面的动画效果最终会导致“Hello World”文本从原创 2015-03-06 11:10:04 · 1401 阅读 · 0 评论 -
10.spritkit征程——使用nodes来新增内容
10.spritkit征程——使用Nodes来新增内容上文讲到新的场景空无一物,略显凄凉,因此今天我们今天首要任务就是往里面填东西,比如:一架简陋的太空船。友情提示:请勿过分憧憬项目最后会给你呈现一架华丽的飞机。orz…..我始终坚信把基础知识讲清楚,将全面,简单化比那些所谓的长篇大论、举例无数的书本来的美妙。因此我们首先来理清一下几个东西: 关键的几个概念: SKView: 在Spr原创 2015-03-09 17:17:38 · 1285 阅读 · 1 评论 -
11.spritekit征程——结尾篇之节点的狂欢
11.spriteKit征程——结尾篇之节点的狂欢 本文是sprite kit征程的结尾篇,当然这仅仅还只是开始。另外我正在做一款sprite Kit的教学软件,很快就能和大家见面了。希望多多支持。小节目录: 01.关于sprite_kit 02.SpriteKit前瞻之视图场景 03.sprite_kit前瞻之节点树 04.sprite_kit前瞻之纹理 05.sprite_原创 2015-03-10 10:34:08 · 1153 阅读 · 0 评论 -
12.精灵进阶之理论篇
12.精灵进阶篇 前言: 在实际游戏开发中,庞大的内容被切割成多个场景(SKScene),而单个场景由各式节点组成,例如:SKLabelNode、SKSpriteNode、SKLightNode、SKVideoNode等,它们继承于SKNode这个“老父亲”,但自身又习出一身本领,专门从事某一方面工作。然而,SKSpriteNode这个“儿子”表现尤为突出,他是场景的基石(basic bu原创 2015-03-24 12:21:37 · 1065 阅读 · 0 评论 -
用Swift做个游戏Lecture10 —— 优化游戏(终结篇)
Flappy Bird整个项目临近尾声,要做的只是对游戏体验的优化,本文首先解决两个,分别是:实现Player 静态时的动画,修改早前掉落时直上直下的问题。Player撞击障碍物时,给出一个shake摇晃动画。游戏最后实现的效果是这样的:Player动画实现当游戏状态为.Tutorial的时候,Player是静态呈现在教程界面上的,为此我们想要实现一个动画,让其挥动翅膀。而实现方法也很简单,动原创 2015-12-30 13:06:13 · 1164 阅读 · 0 评论