代码改变世界

【Stage3D学习笔记续】山寨Starling(十一):Touch事件体系

2014-11-27 16:45 by 阿诚de窝, 621 阅读, 0 推荐, 收藏,
摘要:我们的山寨Starling版本将会在这里停止更新了,主要还是由于时间比较有限,而且我们的山寨版本也很好的完成了他的任务“了解Starling的核心渲染”,接下来的Starling解析我们将会直接阅读Starling的源码来了解其它的内部运行方式。Touch事件体系无疑是除了核心渲染外最重要的东西了,... 阅读全文

【Stage3D学习笔记续】山寨Starling(十):高效游戏设计、纹理集和ATF

2014-11-26 20:10 by 阿诚de窝, 772 阅读, 0 推荐, 收藏,
摘要:我发布了经过批处理优化的v0.3版,点击下载:https://github.com/hammerc/hammerc-study-Stage3D/archive/v0.3.zip先看看我们批处理优化后程序的效果吧!首先,为了能明显的看出差距,我把未优化v0.2版本的MovieClipTest.swf的... 阅读全文

【Stage3D学习笔记续】山寨Starling(九):上下文丢失处理方法

2014-11-25 18:14 by 阿诚de窝, 810 阅读, 0 推荐, 收藏,
摘要:Stage3D在运行中是存在随时会丢失上下文的尴尬情况。渲染内容丢失的问题本身就说明是因为丢失了Context3D对象。出现此问题的原因很多,通常还不是因为Stage3D应用。比如在win7系统中,当按下Ctrl+Alt+Delete键时会出现类似“锁定计算机”和“启动任务管理器”的菜单选项,这就会... 阅读全文

【Stage3D学习笔记续】山寨Starling(八):核心优化(批处理)的实现

2014-11-24 16:52 by 阿诚de窝, 954 阅读, 0 推荐, 收藏,
摘要:批处理是使GPU进行高效绘制的一种技术手段,也是整个渲染流程中最核心的技术,到目前为止我们并没有使用到这种技术手段,下面我们看看我们现在的渲染机制。先想一想我们最开始是怎么向GPU绘制一幅图像的,可以回头查看Stage3D学习笔记(五):通过矩阵操作纹理这篇文章;绘制流程:我们创建了两个矩阵,一个正... 阅读全文

【Stage3D学习笔记续】山寨Starling(七):一般优化方法简介及混合模式

2014-11-20 15:45 by 阿诚de窝, 483 阅读, 0 推荐, 收藏,
摘要:关于事件的优化:遍历注册的事件由foreach改变为fori,在大量数据遍历时会有提升;事件池优化:所有的事件都使用一个对象池进行保存,而不是使用到时进行创建,使用EventDispatcher类的dispatchEventWith方法可以使用事件池,使用事件池在大量使用事件的情况下可以极大的提升运... 阅读全文

【Stage3D学习笔记续】山寨Starling(六):动画实现和测试

2014-11-18 16:28 by 阿诚de窝, 342 阅读, 0 推荐, 收藏,
摘要:我发布了一个版本v0.2,该版本是未优化版本,且没有添加Touch事件体系,但是由于是最基础且未优化的,所以可以通过参考代码快速的了解实现原理。接下来的一段笔记开始进行渲染优化,我会把所有的目光都集中到渲染的优化之上。点击下载:https://codeload.github.com/hammerc/... 阅读全文

【Stage3D学习笔记续】山寨Starling(五):纹理计算和尺寸计算

2014-11-17 17:09 by 阿诚de窝, 436 阅读, 0 推荐, 收藏,
摘要:尺寸计算:Starling中的尺寸是以像素为单位的,这一切都得力于我们使用的正交矩阵,还记得我们顶点数据中的位置数据么,如果我们提交的矩形的四个顶点为(0, 0)(0, 100)(100, 0)(100, 100),那么最终通过正交矩阵的转换后绘制到舞台时将会是长宽都为100个像素的矩形。那么Sta... 阅读全文

【Stage3D学习笔记续】山寨Starling(四):渲染代码实现及测试程序

2014-11-14 20:20 by 阿诚de窝, 419 阅读, 0 推荐, 收藏,
摘要:本章会实现最核心的代码,所以涉及点会比较多,这里会发布一个版本,方便日后的回退查看。点击下载:https://codeload.github.com/hammerc/hammerc-study-Stage3D/zip/v0.1先看看Demo:代码代码下面说一下一些比较关键的点:事件播放处理:Disp... 阅读全文

【Stage3D学习笔记续】山寨Starling(三):Starling核心渲染流程

2014-11-10 20:10 by 阿诚de窝, 784 阅读, 0 推荐, 收藏,
摘要:这篇文章我们剔除Starling的Touch事件体系和动画体系,专门来看看Starling中的渲染流程实现,以及其搭建的显示列表结构。由于Starling是模仿Flash的原生显示列表,所以我们可以参照原有的知识体系来阅读Straling的代码。Starling类:Straling类是整个Starl... 阅读全文

【Stage3D学习笔记续】山寨Starling(二):VertexData探幽

2014-11-10 11:31 by 阿诚de窝, 675 阅读, 0 推荐, 收藏,
摘要:还记得之前的学习笔记中我们的顶点缓冲数组中的顶点数据么,我们使用一个一维数组来记录所有的顶点数据,这是由于顶点缓冲上传数据时是使用的一维数组。如果对顶点数据进行一层代码的封装,就能更加的方便我们来操作顶点数据了。所以引入了VertexData(顶点数据)这个类来进行封装。在Starling中一个顶点... 阅读全文