自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 解决flash后台运行缓慢的问题(帧频低的问题)

概述:    flash后台运行帧频低是源自flashplayer插件的问题,为了解决flash在后台运行时少占用些CPU的问题,但却为页游带来了一些麻烦,比如挂机战斗时玩家切换到别的页面去看东西了,就会造成如伤害输出不足,基本停止打怪这样的问题(除非你的战斗逻辑全写在服务端)。   解决方案思路:   起初想利用js的时间间隔相关的方式去实现(setTimeout、setInte

2016-08-24 12:34:47 8735

原创 3D图形核心基础精炼版-14:透过数学计算和graphics绘制点和线来了解3D绘制原理

使用as3的人员最初接触到的可能就是graphics绘制了,它可以让你绘制点、线、矩形、圆等,这是你所熟知的都是平面的画布。此前也说过3D最终也是画成一张平面的画,只是通过了矩阵计算到GPU顶点着色 片段着色等阶段,那么现在我们不用stage3d,用纯矩阵 + 坐标点 + graphics绘制来模拟一个3D的正方体,并且可以正常的运动,其中一面还进行了纹理贴图。这样就回到了你熟知的

2016-08-22 14:57:34 1915

原创 3D图形核心基础精炼版-13:stage3D实战-普通地形和范例工程5

这里是普通的地址制作,后面再说LOD地形。地形的原理就是一个很大的模型,一般上面凹凸不平,并且不是一整张的贴图而是通过一张“透明图”来将三张不同的图片素材混合在一起来做到实际地形的效果,如图;下面我将建立一个64*64格子的地图:       --- 你需要65*65个顶点       --- 准备一张高度图65*65大小,作为每个顶点的Z坐标:PS里面建立一个65

2016-07-04 15:52:08 744

原创 【学习笔记】3D图形核心基础精炼版-12:stage3D实战-动态阴影 shadow mapping 和范例工程4

目的:    物体投影在另一个物体身上,而另一个物体可能是平的,但大多数都是不平的多边形物体,这里考虑的是后者,这样可以适用于大多数场合的投影。预览效果:原理:    这里使用的是shadow mapping方式,其原理如下:       1、将场景的深度值预先渲染到 以光源位置为原点、光线发射方向为观察方向的投影坐标系中,形成深度纹理。       2、再次渲

2016-04-28 11:51:40 2727

原创 设计模式是什么?

设计模式是什么?设计模式主要更好地解决几个问题:开发时的耦合性、可维护性、可扩展性、可移植性。1、开发时的耦合性:由于一个大型项目不可能由一个人完全开发,这里为了能够很好的并行开发,不会出现等待别人开发完毕才能够开发的情况,良好的设计模式可以起到很好的作用。2、可维护性:在一个项目后面更新迭代中可能会出现很多需求的更改,那么良好的设计模式将帮助你更快速的维护。3、可扩展性:同上,一

2016-04-21 20:19:47 4110

原创 【教程】基于FlashBuilder创建的FLEX项目使用教程精简版

使用环境:使用FlashBuilder创建的FLEX项目和FLEX库项目1、当创建一个FLEX项目(项目名例如叫做myFlex)的时候会自动建立一个叫做myFlex.mxml的文件:这是一个窗口类,系统会自动创建该实例,你可以认为是启动该工程时的主窗口,所以你也可以在这个文件里面给它添加各种组件,在启动的时候就会立即看见。它的类与父类的关系链:      myFlex ->Window

2016-04-19 13:10:19 11070

原创 【教程】游戏引擎和项目的设计Demo-1:简易架构图

说明:    这是一个RPG游戏的游戏引擎和项目demo架构图,可以作为小的原型,对于细节没有太过多的叙述。        查看此类架构图你必须要对编程和面对对象有一定的基础。整体程序架构图项目层:rpggame引擎层-库-游戏框架:引擎层-库-组件和API接口层:引擎层-库-底层实现层:

2016-04-14 18:10:25 2030

原创 【学习笔记】3D图形核心基础精炼版-11:stage3D实战-光照效果和范例工程3

原理;    之前已经说过了实际上我们看到画面,无论是半透明的,还是有空间感的,全部最终都是画在一张2D的画布上(你可以认为是屏幕),由于前面已经知道在AGAL上的着色器上操作颜色信息,那么光照效果实际上也是这么来控制的,有光的地方颜色就更亮,无光的地方就暗,临界区的话可能就是灰白相间,实际颜色信息计算会根据光所在的点和模型(模型的顶点的法线)以及视角来计算。    光所在的位置不同,

2016-04-13 14:00:24 991

原创 【学习笔记】3D图形核心基础精炼版-10:stage3D实战-AGAL基础和命令

1、AGAL是stage3D的着色语言,分为顶点着色(vertex shader)和片段着色(fragment shader)2、顶点着色主要用于输出顶点位置,以及传递vertexBuffer上的信息到片段着色器使用,所以也可以在这里计算一些信息,比如挪动顶点位置。3、片段着色主要用于输出颜色信息,比如贴图中的像素颜色,所以在这里可以更改颜色,比如叠加一个颜色或设计光照效果等。

2016-04-13 10:33:18 1345

原创 【学习笔记】3D图形核心基础精炼版-9:stage3D实战-图片纹理

关于stage3D中的图片纹理数据:1、stage3D实际处理的是Texture数据类型的纹理,这是一种压缩纹理,上传到GPU后直接使用的。2、你可以通过BitmapData方式转化为Texture,使用Context3DTextureFormat.BGRA方式创建纹理,并用uploadFromBitmapData上传,这需要消耗一些性能,不过只要转化一次即可不用每帧渲染时都转化。

2016-04-09 10:24:26 1663

原创 【学习笔记】3D图形核心基础精炼版-8:stage3D实战-范例工程2

这个工程是在范例工程1的基础上由四边形变为一个锥形,增加了一个顶点,同时增加了纹理贴图,以及颜色叠加效果。链接:http://pan.baidu.com/s/1kUBTaoJ 密码:s9rdpackage{ import com.adobe.utils.AGALMiniAssembler; import com.adobe.utils.Perspectiv

2016-04-09 10:05:59 1257

原创 【学习笔记】3D图形核心基础精炼版-7:stage3D实战-范例工程1

之前说的都是理论和代码片段,这里实际我们制作一个工程:涉及到顶点、顶点缓冲、顶点颜色、绘制、状态机、Shader等等综合的知识组合成一个3D世界。这里就简单的绘制一个正方形(也就是只有一个面),用WASD操控镜头移动,上下左右操控物体移动,鼠标拖动操作物体旋转。链接:http://pan.baidu.com/s/1jHECRau 密码:z73x代码贴出:package{

2016-04-08 20:47:08 2802

原创 【学习笔记】3D图形核心基础精炼版-6:stage3D实战-顶点

顶点:  这里说的顶点实际上包括组成物体的所有点、贴图UV坐标信息、该点的法线信息、该点的颜色信息等。 var vbV:Vector. = Vector.([ // X Y Z U V R G B A -1, 1,0,0,0,0.1,0.1,0.1,1, // 左上角的点 1, 1,0,1,0,0.1,0.1,0.1,1, // 右上角的点

2016-04-08 16:52:55 691

原创 【学习笔记】3D图形核心基础精炼版-5:stage3D实战-矩阵计算

M矩阵:物体总会在这个世界的某一处,而具体在哪里,旋转角度是多少,是否缩放了,这里每一个物体就可以用这个M矩阵来记录。V矩阵:虽然物体不是变动的,但你视角变动了,物体显示在屏幕中的画面也就不同了吧,这个时候我们物体的M矩阵没有变,但我们的世界唯一的一个相机矩阵V变动了。P矩阵:这个一般是整个世界最终的投影了,如果你现在无法理解,反正你记得就两个投影矩阵,一个越远的物体显示越小,根我们现实世

2016-04-08 16:07:41 1014

原创 【学习笔记】3D图形核心基础精炼版-4:stage3D实战-环境搭建

以下开始用AS3的stage3D来设计三维世界,用flashbuilder作为IDE来开发。重要的概念:1、stage3D渲染出来的画始终是在stage下面的,也就是说原来的那一套stage上的显示对象肯定会遮盖住stage3D绘制的东西。2、stage3D有很多层,所以也有层次关系,但一般我们都只使用一层来画画就行了。3、stage3D的video层在最下面,也就是说你绘制的东西

2016-04-08 15:34:04 1346

原创 【学习笔记】3D图形核心基础精炼版-3:屏幕中的三维坐标概念

如果你要画一个右上角填满的正方形,你可以给这个正方形设定4个点:A(0,0,0)B(0,1,0)C(1,0,0)D(1,1,0),而为了确立面,我们用两个三角形连线则可:ABD、ADC(这不是LOL的ADC别突然眼前一亮),我们这里用的是右手坐标系,即顺时针绘制,所以两个三角形都是顺时针的,你可以试着按照顺序看看是不是顺时针。而两个三角形就组成了一个四方形了,在三维世界里的绘制都是三角形,所以我们看显卡的性能也会说他渲染三角形的能力有多大。

2016-04-08 15:25:04 840

原创 【学习笔记】3D图形核心基础精炼版-2:流程概念版

流程(无光照版):1-3D环境搭建:stage3D或opengl都会有一个初始化环境的过程,一般利用它们提供的API即可。2-准备的信息        -- 物体的顶点信息:如立方体的8个顶点        -- 物体的顶点索引信息:如立方体如何连接顶点组成6个面(opengl的话这个顺序直接在程序中体现)        -- 物体使用哪个纹理,每个面使用这个纹理的哪一块来贴图

2016-04-08 15:19:47 713

原创 【学习笔记】3D图形核心基础精炼版-1:入门概念

以下仅为个人学习时的理解关键点,可用于参考:1、屏幕永远都是2维的,即只有X、Y轴,所以屏幕分辨率永远是N*M:如1920*1080,这里的1920代表宽1920个像素点,1080代表高1080个像素点,也就是说共计2073600个像素点,我们称之为200万像素,所以你所熟悉的手机摄像头800万像素、1200万像素的就知道大概是怎么回事了吧。2、基于上述原理,我们三维世界最终肯定会转为二维

2016-04-08 14:19:39 1276

原创 [教程]仿photoshop拾色器调整颜色

仿photoshop拾色器调整颜色主要功能:对图片调整色调和混合模式。调色界面仿photoshop。关于加载图片和控件在这里不进行说明了,对使用过FLEX和AS3的人来说都是基础了。这里只说明下如何调整色调以及利用这种友好的界面方式进行调色:选择颜色以及明暗度来进行调色混合模式直接利用flashAPI的显示对象的blendMode属性即可调整混合模式,其实就是预

2016-04-08 13:25:28 4114

原创 内存泄露排查

内存正确释放的原理前提:只考虑引用计数法1、FLASH存在垃圾回收机制(GC)2、GC在没有任何人引用该数据的时候则会对该数据的内存回收3、当所有引用它的人也被内存回收了,即使没有断开这些引用,仍然会被回收例如:var bmp:Bitmap = new Bitmap();bmp.bitmapData = new BitmapData(100,100,false,0

2016-04-01 14:07:02 721

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除