2012年6月7日
Corona SDK 开发者访谈:iNSERT.CODE 的 Adam Smith
最近,我偶然发现了 iNSERT.CODE 的 Adam Smith 编写的非常棒的 Corona SDK 示例代码,这引起了我的极大兴趣。这段代码模拟了物体在水中的浮力,代码编写得非常出色,并且注释非常详细。这段代码很好地展示了使用 Corona SDK 可以用相对较少的代码完成多少工作。即使你不需要在你的项目中使用此功能,也值得探索一下。
因此,我决定联系 Adam,看看他是否愿意回答一些关于他的背景以及他如何开发出浮力代码的问题。幸运的是,他很乐意抽出时间通过电子邮件采访回答我所有的问题,以下是采访内容。花点时间阅读一下采访,这是一篇非常精彩的文章,值得你花时间阅读。如果你还没有访问 iNSERT.CODE 网站,请务必访问该网站获取项目代码。
以下是对 iNSERT.CODE 的 Adam Smith 的采访
你是否有计算机方面的背景?
我现在 29 岁,我一直对计算机、视频游戏和一般技术非常感兴趣,但不幸的是,只是作为业余爱好,而不是职业。
你的日常工作是什么?
我目前每天经营一家与父亲多年前共同创立的物业维护公司。我一直摆弄一些网站设计和其他技术项目,我认识的人告诉我我应该“从事计算机方面的工作”——他们已经这样说了一段时间了。这并不是说我太懒了不想做——远非如此——我生活很忙,有一份不错的工作,一个(非常有耐心的)妻子,两个小孩,而且每天的时间都不够用。
你认为自己是一名程序员吗?
对我来说,这是一个有趣(且令人兴奋)的问题。几个月前,我肯定会回答“不”。今天,当我坐在办公室里创建一个应该很快可以发布的应用程序时,我通常可以解决我面临的任何问题和/或我想要的功能。这让我成为一名程序员吗?我确信许多拥有 x 年经验的程序员会说不是,但在我看来,我愿意认为我是,或者至少我正在接近。当然,我不能做所有多年经验带来的事情,但我可以构思一个游戏或应用程序并将其制作成成品。
你使用 Corona SDK 多久了?
我在我(非常有限的)业余时间使用 Corona SDK 大约 8 个月了。Corona SDK 不仅是我接触应用程序创建的入门,也是我接触编程的入门。在那之前,除了少量标准 HTML 之外,我对计算机编程一无所知。如果你问我什么是 for 循环,我会茫然地看着你。
你是如何听说 Corona 的?
在摆弄另一个应用程序创建产品(GameSalad)并断断续续地制作了一个平台游戏大约两周后,我发现即使我剥离了几乎所有使游戏变得优秀的东西,设备上的性能仍然很差。
从 Gamesalad 的积极方面来说,它教我如何处理游戏逻辑——这是我之前没有经验的事情。GameSalad 论坛上的许多人谈到了 Corona SDK,他们中的许多人都在跳槽。由于可以免费下载和试用,并且是编程的实际入门,我想“为什么不呢?”。
你认为非开发者可以使用 Corona SDK 学习创建应用程序吗?
他们绝对可以,我会建议任何考虑尝试它的人都立即加入并开始行动。正如我已经提到的,当我第一次开始摆弄 Corona SDK 时,myPreviousExperience = nil. 抱歉。
你使用其他 SDK 吗?
目前没有积极使用,尽管我非常认真和致力于在应用程序/游戏/软件设计方面建立职业生涯。我已经研究过使用 Lua 和其他语言的其他 2D SDK(我在我更加有限的业余时间里一直在学习 Java)。在尝试 3D 时,我还下载了 Unity 3D 并阅读和观看了一些关于其使用和 C# 的在线教程。哦,我的 iPad 上还安装了 Codea,并且正在用它制作一些非常有趣的东西——所有这些都是直接在 iPad 上编程的。不过,Corona SDK 是我实际开发的首选工具。
是什么启发你创建浮力脚本的?
我制作的浮力脚本源于我对脑海中构思的游戏机制的需要。在编程经验非常少(当时只有大约 6 周)的情况下,我求助于 Corona SDK 论坛、Google 和 YouTube,试图找到一些之前的实现或我可以使用的代码,进行剖析和学习——就像我之前做过的其他事情一样。我在 Corona SDK 中搜索类似的东西,在各种平台(Flash 和 Java)上绘制了一些有趣的实现,但我找不到任何与 Corona SDK 或 Lua 相关的东西。在尝试学习目标脚本语言的同时从另一种脚本语言移植,不幸的是超出了我当时的范围。所以,我决定自己尝试创建浮力。毕竟,最好的学习方式是投入其中(没有双关语)并自己动手。
你在哪里找到构建浮力脚本的信息?
浮力背后的数学原理,虽然可能不完美,但基于这个数学/物理原理,“任何漂浮的物体都会排开与其自身重量相等的流体。” 阿基米德,公元前 212 年。
你使用什么工具来开发应用程序?
我使用一些很棒的第三方产品在 Corona SDK 中进行开发。即,Corona Project Manager、Particle Candy和Corona Profiler。我衷心认为,对于任何使用 Corona SDK 的人来说,所有提到的这些都物有所值。
你对 iNSERT.CODE 有什么计划?
浮力脚本是为一个仍在进行中的游戏创建的,虽然目前不是我的主要重点(也许我毕竟正在成为一名程序员)。我的主要重点是完成一系列儿童教育应用程序并将它们推向市场。我正在努力使该系列“可品牌化”,我认为这很重要。它们中的第一个即将完成,并且已经对机制进行了编码,以便它们可以轻松地应用于我正在创建的该系列中的其他类似应用程序。因此,其他应用程序应该不会落后于第一个应用程序。不幸的是,除此之外,我没有可以链接到你的特定信息或宣传视频,但作为独家预告,这里首次公开了其中一个主要角色
除了我的商业努力外,我还喜欢更新我的网站,其中包含针对独立开发人员的教程,无论是从艺术还是编码的角度来看。由于我目前空闲时间有限,我没有像我希望的那样经常这样做。我喜欢并坚信,与他人分享我所知道的和学到的知识非常重要,因为如果不是因为类似的免费信息来源,我一开始就不会有机会学习我现在所学到的知识。
你是否有正在制作的即将推出的教程?
我一直在计划一些关于开发艺术方面的新教程,重点是角色设计,以及创建等距游戏艺术。在编码方面,我一直在考虑使用等距艺术作品创建瓦片地图,因为两者确实是相辅相成的。我总是乐于接受建议,所以如果有人想联系我,提出他们希望看到的教程的想法,那就再好不过了。
人们如何了解你在做什么?(博客、Facebook 等)
了解我们何时发布新教程和代码示例的最简单方法是在 Twitter (@iNSERT_CODE) 上关注我们和/或在 Facebook 上赞我们
—
采访到此结束。感谢 Adam 花时间与 Corona SDK 社区分享你的故事和代码。如果你对浮力代码的工作原理有具体问题,或者你想与 Adam 讨论项目,请务必通过他的博客或 Facebook 页面直接联系他。
Charles McKeever
Corona 极客
Charles McKeever
发布于 14:44, 12 月 6 日我需要联系一下亚当,看看他最近在忙些什么。我看到他做了一些关于创建洗牌代码的教程。也许我很快可以邀请他参加 Corona Geek 节目。