如果是初学者第一次听到“生命游戏”这个名词,肯定会觉得是一款高霸上的RPG网游,或者是一部精彩酷炫的好莱坞电影。其实,大家今天要说的“生命游戏”,只不过是计算科学中一个最基础最简单的概念。本篇文章编教你如何用swift语言和游戏编辑工具SpriteBuilder制作一款属于自己的生命游戏。如果你还不知道什么是“生命游戏”,可以登录Wikipedia查看关于它的详细解释。几乎所有的程序员在自己的coding生涯中都会或多或少接触到它。
生命游戏是一个自主运行的小程序。程序初期有一个网格,网上的每一个小格子有两个状态,“活”或者“死”。如果与某个格子相邻的八个格子中有少于两个活着的格子,则这个格子会因为寂寞而死去。而如果有超过三个活着的邻居,它又会因为过于拥挤而死去。如果一个活着的格子正好有两个或者三个格子,它还会继续存活。如果一个死去的格子有两个存活的邻居,它会活过来。
首先,大家要先从SpriteBuilder讲起:
要设计自己的生命游戏,大家先从一款叫SpriteBuilder的游戏编辑软件开始。当大家完成的时候,游戏将会像这个样子:
登录Mac App Store 下载最新版本的SpriteBuilder。
SpriteBuilder是一款为Cocos2d游戏设计的类似于Xcode Storyboard的工具平台。是一个可以让你迅速编辑游戏的可视化工具。比起用代码来设计游戏界面来,这种新型的交互工具可以让用户直接拖拽现成的元素到游戏界面来完成UI的设计,非常便捷。
除此之外,在SpriteBuilder上你还可以方便地制作动画,音频效果。这些特效大家将在文章的最后做详细介绍。
开始SpriteBuilder后大家会新建一个SpriteBuilder项目,之后还会建立很多接口文件(.ccb文件,以SpriteBuilder的前身CocosBuilder命名)。SpriteBuilder对swift等语言有很好的兼容性,这意味着用户可以同时用SpriteBuilder的编辑器和纯代码进行游戏设计。
一般使用SpriteBuilder的流程如下:
建立新的SpriteBuilder项目。导入图片素材。为不同场景设计不同的.ccb文件。编写代码。完成并发布你的项目,这时候系统将会自动更新与之相联系的Xcode项目。用Xcode运行项目。
当你运行程序的时候,Xcode中的CCBReader将会读取所有的ccb文件并且根据这些文件创建游戏场景。下图展示了SpriteBuilder如何和Xcode协同工作:
接下来,大家来看看SpriteBuilder界面长啥样:
在大家开始设计游戏之前看一眼SpriteBuilder到底长啥样。大家把它的界面分成4大部分:
Resource/Component Brows
er: 在这个区域你可以看见自己创建或者导入的文件信息,同
时还可以选择按钮节点并将其拖拽到场景中。
Stage: 这个区域会现实现在的情景,并且布局你的界面。
Timeline:用于用SpriteBuilder制作动画。
Detail View: 每当你选中一个元素的时候,这个区域会显示此元素的基本信息,并可以在此区域进行编辑。比如坐标、文本内容和其他物理属性。
其中,在 resource/component browser 标题栏中左边第一个是File View。它会列出所有的ccb文件和导入资源。
在这个视图中你可以加入自己的资源,并对整个项目的文件结构作出调整。
第三个是Node Library:
点击便会显示所有现有的游戏元素素材。
在Detail View中的第一个图标是 Inspector. 如果你已经选择了一个控件的话便可以通过此区域来编辑它的基本信息。
第二个是code connections。 可以在这里设置相关代码:
下图红色箭头所指的地方便是发布按钮。用次按钮你可以更新你的项目。
接下来是界面设计和编写代码,具体如果有兴趣的可以看看手把手教你用Spritebuilder制作简单的生命游戏app的教程。偶在这里就简单介绍一下啦:)
用游戏本当开发机好吗?
如果仅是办公的话,偶首选MacBook pro
Mac优势
Mac轻便,续航时间长,而且Mac系统对于办公还做了很多贴心的优化,比如不关机盖上盖子放一天电池电量也不会耗费太多,更重要的是,你打开盖子就可以接着干活,即便是关机,也可以选择下次开机是否保留当前的工作进程,这样你就不用考虑每次开关机都要考虑保存当前文档了,还有就是用Mac你可以完全用触控板代替鼠标,目前所有电脑中Mac的触控体验是无敌的,开个会什么携带非常方便。
游戏本
游戏本的特点是配置高,用它当开发机性能是没有问题的,但是游戏本一般都比较笨重,个头太大,不便于携带,要经常开会的话,搬来搬去非常不方便的,但是除了敲代码之外还要玩游戏的话可以选择游戏本。
总之,主力办公偶建议选择Mac,平时还玩游戏的话可以考虑游戏本,毕竟价格经济实惠。
给孩子报了儿童编程班?
上来说编程很枯燥的,是完全不了解编程,准确的说是完全不了解孩子编程的。
人们想到编程的时候,首先想到的这是一种技术或者数学能力,编程更像是一种写作能力,一种语言,当你在学习写作的时候,学习如何表达自己的想法,与别人分享自己的想法。编程也一样,编程可以帮助大家组织,表达并分享大家的想法。
孩子在学习编程的时候,可以创造故事,动画和游戏,通过这种方法,他们可以把想法表达出来并与世界分享。
每个孩子都需要表达自己。多数孩子长大后都不会成为程序员或者计算机专家,但任何背景的孩子都能在学习编程过程中受益。
首先孩子不喜欢有多种愿意,是培训班的形式,内容太无趣了,还是孩子没有体验到其中的乐趣,先分析下原因,然后再决定后面怎么办。
最简单的方法是家长你和孩子一起学,不知道你带孩子多大了,是学的Scratch编程,还是Python等,尤其是Scratch完全可以家长和孩子一起学,其实就可以理解为另一种亲子类游戏。
对偶个人来说,解决困惑的方法,不是把“编程教育”都外包给他人,而是偶先和孩子一起学。如果大家做父母都不清楚“编程”会对自己的孩子成长起什么作用,又怎能确信把钱和时间花在了刀刃上。虽然偶是计算机专业毕业,做过程序员,但是对幼儿编程也是有了孩子之后才有的深入了解。
幼儿编程之父Mitch 谈幼儿编程为什么要让孩子学编程?
孩子在学习编程的时候,也是在学一种语言。不是一种技能学习,而是培养理性思维,进而发现理解问题,解决问题的能力。进而让他们发现自己有能力在这个世界上创造东西。
编程帮助大家组织,表达并分享大家的想法。孩子在学习编程的时候,可以创造故事,动画和游戏,通过这种方法,他们可以把想法表达出来并与世界分享。不是一种技能学习,而是培养理性思维,进而发现理解问题,解决问题的能力合作,大家合作的时候能做的事情比一个人要多很多。
这也是编程的意义所在,孩子通过编程让机器人或者汽车动起来,跑的更快,让机器人转身,但是更重要的是孩子在这个过程中的不断试错,思考,以及这期间的创作过程。
母亲节的故事
幼儿编程之父Mitch Resnick曾经在Ted上做过一个演讲“Learn to code, code to learn”,作为MIT媒体实验室教授,创建风靡全球的可视化编程软件”Scratch”,分享了他自己有趣的母亲节故事。
五月的某个周六下午,Mitch突然意识到明天是母亲节,但他还没有准备给母亲的礼物,于是他开始思考该送什么。最终他决定用Scratch软件做出一张互动型的母亲节贺卡。
在动手制作前,Mitch想知道,在Scratch网站上的300万份作品中,是否有孩子送给母亲的作品。让他惊讶而欣慰的是,他真的搜索出了几十个母亲节贺卡。
然后开始点击链接,播放其中的一些贺卡。其中有一个是个小动画,上面有一只小猫咪和一只猫妈妈。小猫咪转过头,看到了猫妈妈,叫了一声“妈咪!”然后,小猫咪开心地跳到猫妈妈身上,把她扑倒,说“偶爱你”。在动画的结尾,作者加上了一个“重放”按钮,这样他的妈妈就能一遍又一遍地欣赏动画贺卡了。谁不想每天多看几次呢。
在播放这些母亲节贺卡时,Mitch感到了一种满足。这正是他们在MIT媒体实验室设计Scratch时想要达到的结果。
昨天放学回家,吉吉像宝贝一样的从书包里掏出一个手链,说是在幼儿园自己编的,送给妈妈,让偶跑步的时候也带着,晚上躺在床上时还问“妈妈,你喜欢偶送你的礼物吗?”。看着孩子送给自己的礼物时,偶感到了一种满足。用线绳编织是一种表达方式,那么哪一天孩子通过Scratch表达他的思想,偶肯定依然会异常满足。
日后,他能将Scratch当作一种表达自偶的方式,尽情表达他的思想,并与大家家长和他的朋友交流。偶想他也一定很快乐。
Scratchjr也就是Scratch junior,建议是5+就可以了,大家可以先观察自己的孩子兴趣和发展情况,不能一概而论。
比如,吉吉在2岁左右的时候开始玩Brio和Lego火车轨道,用火车认识,演绎他的世界,表达自偶。
等到差不多4岁的时候,更期待以一种更加开放,自由的方式去玩了,这时他更偏爱积木,小手搭建侏罗纪恐龙公园,大矿山,石窟群等,因为这时想象力更加丰富,在日常中获取的灵感,积木可以更加自由灵活的表达出来。比如上周骑行去栖霞山,围着石窟群看来看去,回家就迫不及待的用积木搭建出来。脑洞大开的积木
4岁以后呢,他对交互,互动兴趣变得更加浓郁,比如之前特别喜欢手动开着火车在轨道上运货,探险。现在更偏向电动遥控火车,加速,减速,搬道岔等等,这也就是说的交互的一种表达方式,在做一个操作或者事情的时候想看到结果,收到反馈。这也是编程能给孩子带来的很好的互动。
如果孩子已经流露出以一种更加自由的方式表达他的想法,又希望能得到一些反馈和互动的时候,大家可以引导孩子进入编程这种新的“语言”方式,当然前提是孩子感兴趣的。
这是中秋节,孩子和爸爸一起编程制作的中秋祝福送给爷爷奶奶。
孩子用手搭积木学会了稳定和坚固,用画画学会了混合不同的颜色,更重要的是学会了创作的过程,通过不断的探索和实验,表达了自偶和世界,那么“编程”不仅仅当作一种狭隘的技能,作为一种新的方式帮助孩子把想法表达出来,让孩子参与到世界的活动中来,而且还可以和世界分享,大家又有什么理由拒绝呢?
至于编程工具,平台,编程教具,怎么学,偶在后面会和大家慢慢分享偶的一些心得。
在孩子编程上你有什么心得和经验,或者想了解,已经在学的,欢迎留言给偶,大家一起交流。
如果觉得《儿童游戏怎么编程 想做游戏开发 – 游戏开发 – 前端》对你有帮助,请点赞、收藏,并留下你的观点哦!