iOS 学习笔记(第二次冲击 C部分)Part 1
先记录这几天在treehouse学习的点,因为我学习编程也是从C语言开始,只是那已经是很久以前的事情了,所以当treehouse的课程以清晰,翔实的教学方式让我重温C语言时,我甚至有一些小感动,要感谢拉我一起到treehouse学习的白爷(您批评我的部分我一定虚心接受),今天要记录几个点如下:
先记录这几天在treehouse学习的点,因为我学习编程也是从C语言开始,只是那已经是很久以前的事情了,所以当treehouse的课程以清晰,翔实的教学方式让我重温C语言时,我甚至有一些小感动,要感谢拉我一起到treehouse学习的白爷(您批评我的部分我一定虚心接受),今天要记录几个点如下:
白爷昨天跟我分享了一个故事,大约记录如下,说有两个将军,将军甲有个女儿,长的倍儿漂亮,将军乙有个儿子,看上人家了,见天儿嬉皮笑脸的跟人家扯闲皮套磁。有一天两家大人都不在家,小子就敲墙跟人家借茶具,姑娘不借,小子就在墙板上挖了一个洞,看见姑娘之后开始吓唬人家,说爷既然能跟这儿抠一个窟窿眼儿,就能翻过你这薄墙板儿,也不怎么着姑娘就浪起来了,小伙先把手指头伸过去了,接着就自然而然地把他的混元宝棍探了过去,谁知道这姑娘先撸把两下,拔下头上的簪子给小伙来了个大穿刺(当时我心想,终于来了,终于来了!戏核儿在这儿呢!),后面的就都不重要了。
讲完之后我们争论的是,这故事是要说什么呢?白爷说这还是一个有出处的古书所载,而非今人杜撰,当时我脑子中的疑问是,这两家将军也太寒碜了点,盖房子盖的都借笔儿了,还用的是不足一屌之长的薄板做隔墙(下附The Penis Size Worldwide,现今数据是10.89,我们假设当年的八旗小伙子是上限值12,还要减去能露出来叫姑娘上手的长度,这墙板多说也就3-6厘米厚吧),还偏偏让俩春来秋往的骚年正好住这俩屋,你说这小伙子天天听着隔壁的姑娘幽叹娇喘的,能不心猿意马么。
我在下班前,忽然看到Andy君在昨晚的朋友圈分享了高大上的Haagen Dazs Concerto Timer应用截图,确实如Andy所说,实现不难,主要是创意,印象中,比较成功的AR实现技术是一个叫Penguin Navi 的项目,够完全,够创意,而且特别可爱,
昨天折腾一个晚上的结果,是在白爷的帮助下,将Blog搬家到了这里,在此要向白爷无私地提供后端技术支持表示感谢。
杀死一只知更鸟中,哈珀小姐对黑人的描写充满着富含悲悯的温暖,原文截取一段如下(isbn:978-7-5447-2276-6 p:145):
”进入教堂院子后,扑面而来的是一股洁净的黑人身上散发出的温暖苦甜的气息——‘爱之心’发乳混合着阿魏,鼻烟,‘霍伊特’古龙香水、布朗骡子牌嚼烟、薄荷以及丁香搽粉的味道。“


昨天暂停在代码实现之前的部分,为了让坦克主体能够分别表现炮击瞬间的后坐力的效果,我对整个模型的结构做了一下层级调整,关于如何让一个模型成为另外一个模型的子部分,是直接拖拽放置即可实现的。
层级如下:
在亲爱的老婆和可爱的儿子回家去之后,我经历了短暂的伤感,玩命补动漫和闲书之后,终于罹患上呼吸道感染,进而诱发咳喘,现在一大喘气就跟拉风箱似的,呼噜呼噜,也终于打起精神来,继续写博客,今天要记录的是,利用Flare3D为Tank模型制作一个开火的射击效果,很简单,重点在如何利用Flare3D创建粒子效果,并实地在自己的代码中引用它们。
首先,我需要一个意向,于是我找到了下面这张图片,作为我想实现的目标(我命名为炮打菊花)。
之前的TexturePacker是可以直接添加swf文件并转化成序列的动画的,新版本的不知道为什么需要单独分离出一个叫FlashUnpacker的东西(SWF格式变化,或者作者将其列为收费点也未可知)。总之想直接用swf导出之前的Sprite Sheet没有那么爽,即便我安装了这个插件,导出时仍然很慢。
自从我发现Flash CC支持直接导出Sprite Sheet之后,我顿觉虎躯一震,这无疑为Flash继续作为动画制作利器开辟了一个完美的途径,可以这个性能可能会使得传统动画师和AS开发者彻底分裂开。这些担心无需多写,反正Flash要成为过去式是早晚的事儿。
我在偶然看到某人推荐的一篇,《森林故事,以及干脆面军团考证》中,发现一些较为精细图片的水印指向一个网址,arkive.org,寻根至此发现这是一个专门收集,介绍濒危物种的公益性质网站。对物种的描述非常全面,并配备有大量的图片和视频资料,令人心生敬仰,并想为此作点什么,(写博记录和传播也是一种帮助吧)。
浏览中,遇到鸟类分类下的一种名字很土著的胖鸟,唤做Kakapo,于是发了搜索病,试译部分内容如下。
一日不复药,血压归旧高,诚如二弟所言,高血压是一辈子的事。继续完成剩余译文。
扁平化Sprite(Flattened Sprites)
为了追求最小化的状态变更,你已经做了一大堆事以期你的游戏获得性能提升。然而Starling仍然需要遍历你所有的对象,检查它们的状态,并且把它们的数据提交到GPU——这可是在每一帧都发生的事啊!(好恐怖啊!)
别慌,我们下一步就来搞定这个问题。如果在你的游戏中的某个部分的几何图案处于静态,不发生(或者很少发生)变化,可以在这个Sprite上调用flatten方法。Starling将会预处理它和它的子对象数据并提交给GPU。在接下来的帧调用中,它将被正常的绘制,不触发任何CPU处理,也不需要在上传它的数据给GPU。
这是一个非常棒的特性,这潜在地大量减轻了GPU的负担。但是要注意的是即便扁平化的sprite们被从状态变更的苦难中隔离了出来:如果被扁平化的Sprite中包含有不同渲染状态的子对象,它仍然是会被多步骤的绘制的。