自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (17)
  • 收藏
  • 关注

原创 Loader类中方法unload()与unloadAndStop(gc)方法的使用

unload()方法 public function unload():void语言版本: ActionScript 3.0运行时版本: AIR 1.0 Flash Player 9, Flash Lite 4删除此 Loader 对象中使用 load() 方法加载的子项。将关联 LoaderInfo 对象的 property 重置为 null。不必破坏子级,因为其他对象可能要引用它;但是,它不再是 Loader 对象的子级。 最佳做法是,在卸载子 SWF 文件之前,您应该显式关闭子

2010-10-31 21:48:00 2264

原创 Flash 平台技术的优化(四) 事件模型与回调

考虑使用简单的回调代替事件模型。ActionScript 3.0 事件模型基于对象调度的概念。事件模型是面向对象的,可以进行优化以重复使用代码。dispatchEvent() 方法循环访问侦听器列表,并对各个注册的对象调用事件处理函数方法。然而,事件模型的一个缺点是可能要在应用程序的生存期内创建许多对象。假设您必须从时间轴调度一个事件来指示动画序列的末尾。要实现此通知,您可以从时间轴中的特定帧调度一个事件,如以下代码所示:dispatchEvent( new Event ( Event.COMP

2010-10-31 21:11:00 702

原创 Flash 平台技术的优化(三) 文本对象和内存

      将新文本引擎用于只读文本;将 TextField 对象用于输入文本。Flash Player 10 引入了一个功能强大的新文本引擎 flash.text.engine (FTE),该引擎可以节省系统内存。但是, FTE 是一个低级 API,要求在其上使用其他 ActionScript 3.0 层。对于只读文本,最好使用新文本引擎,它占用较少的内存并提供更好的呈现效果。对于输入文本,最好使用 TextField 对象,因为在创建典型行为(例如,输入处理和自动换行)时需要的 ActionSc

2010-10-31 21:07:00 625

原创 Flash 平台技术的优化(二) 节省内存

      节省内存      对于应用程序(尤其桌面应用程序)开发一直非常重要。然而,内存的使用量对移动设备来说非常重要,因此有必要限制应用程序占用的内存量。显示对象选择适当的显示对象。ActionScript 3.0 包含很多显示对象。要限制内存用量,最简单的优化技巧之一是使用合适类型的显示对象。对于非交互式简单形状,请使用 Shape 对象。对于不需要时间轴的交互式对象,请使用 Sprite 对象。对于使用时间轴的动画,请使用MovieClip 对象。应始终为应用程序选择最有效的对象类型。以下

2010-10-31 20:42:00 1072

原创 Flash 平台技术的优化(一) 运行时代码执行基本原理

了解如何改进应用程序性能的关键是了解 Flash 平台运行时如何执行代码。运行时在一个循环中运行,其中某些操作是针对每个“ 帧” 发生的。在这种情况下,帧只是由为应用程序指定的帧速率决定的一段时间。分配给每个帧的时间直接对应于帧速率。例如,如果指定帧速率为 30 帧/ 秒,则运行时会尝试使每个帧的执行时间为三十分之一秒。可以在创作应用程序时指定初始帧速率。可以使用 Adobe® Flash® Builder™ 或 Flash Professional 中的设置来设置帧速率。还可以在代码中指定

2010-10-31 19:20:00 929

原创 提升效率

优化显示:透明效果,滤镜,缩放以及旋转可以产生分成绚丽的效果,但是这些效果同时也吃掉了很多的CPU,所以在游戏中尽可能用位图代替这些效果。<br />流畅的逻辑运算:另外一个瓶颈是游戏中的逻辑判断。尽量减少不必要的判断,取消程序中的那些临界近似值的判断。出来显示问题,优化逻辑判断是提高游戏性能最为显著的一个。<br />使用Vector类存储一组相同类型的数据:Flash player10引入了Vector类。除了要求存储数据必须是同一种类型外,它的功能和Array类完全一致。但是如果当

2010-10-26 18:26:00 406

原创 继承父类的两种情况

在as3中如果继承的子类中1.没有加入构造函数,子类将会调用父类的构造函数2.子类中有构造函数,但是没有调用super(),同样子类会调用父类的构造函数看下面的例子1:package{    public class A    {        public function A()        {            this.initA();            }        private function initA():void        { 

2010-10-23 16:25:00 457

原创 使用Loader载入和组织资源分布

<br />对于一个大型应用程序,资源和代码不可能全部包含在一个swf文件中。资源应该分布到不同的位置,就像组建网站一样。网站是依靠网页组建成整个网站的框架,每个网页通过标签载入外部文件。在页面中标签可以载入外部内容,也可以通过标签把部分内容写在网页中,例如js代码和xml文件。as3应用程序的组织与网站管理类似,支撑网站架构的是swf文件,实现载入的不是标签,而是Loader加载器。<br />虽然b/s结构的as3应用程序也以网页形式出现,但是网页只起到辅助作用,网页使用activeX控件播放swf文件

2010-10-23 14:58:00 812

原创 TextField类中embedFonts属性的使用

      指定是否使用嵌入字体轮廓进行呈现。如果为 false,则 Flash Player 使用设备字体呈现文本字段。 如果将文本字段的 embedFonts 属性设置为 true,则必须使用应用于该文本字段的 TextFormat 对象的 font 属性来指定该文本的字体。如果指定的字体没有嵌入 SWF 文件中,则不会显示该文本。默认值为 false。      如果将该值设为true,但是并没有嵌入字体的话,textField将会无法正常显示

2010-10-22 11:17:00 987

转载 Flash Socket底层接受数据的初级处理

<br />用flash去开发应用,,免不了网络通讯,特别是网络游戏,需要用到即使通讯。<br />as3提供了两个支持即时通讯的类:XMLSocket和Socket,前者其实是只支持发送字符串,而后者就强大多了,支持发送字节,相对来说比较底层,而这也给我们更多的发挥空间。<br />其实,flash socket的网络底层接受数据,就以与C++服务器通讯为例子,C++服务器一般会发一段一段数据过来,每段数据都是由一定结构组成的,一般是消息头和消息头,然后再逐步分层解析。<br

2010-10-21 23:29:00 581

转载 TweenLite 使用详解(译文)

<br />TweenLite 是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite 类文档中的说明文件,主要是对参数的说明,希望对大家有用。<br /><br />TweenLite.as<br />/*<br />版本: 8.02<br />日期: 8/24/2008<br />ACTIONSCRIPT 语言版本: 3.0 (AS2 版也有提供)<br />更新 及 更多文档请访问: http://ww

2010-10-21 22:54:00 864

原创 设定时间运行函数方法:setInterval与clearInterval

setInterval()函数 public function setInterval(closure:Function, delay:Number, ... arguments):uint语言版本: ActionScript 3.0运行时版本: AIR 1.0 Flash Player 9以指定的间隔(以毫秒为单位)运行函数。 作为使用 setInterval() 方法的替代方法,请考虑创建一个 Timer 对象,带有指定的间隔,并使用 0 作为 repeatCount 参数(

2010-10-21 21:54:00 2321

原创 在函数中arguments的使用

<br />用于存储和访问函数参数的参数对象。在一个函数体内,可以使用局部参数变量来访问其参数对象。 <br />这些参数存储为数组元素:第一个存取为 arguments[0],第二个存取为 arguments[1],依此类推。arguments.length 属性表示传递给函数的参数数目。传递的参数数目可能与函数声明的数目有所不同。 <br />与以前版本的 ActionScript 不同,ActionScript 3.0 中不包含 arguments.caller 属性。要获得对调用当前函数的函

2010-10-21 21:36:00 695

原创 as3中函数传值是按引用来还是按值来传入参数

<br />     在Actionscript3中所有的参数都是按引用引入的,只不过,基元数据类型是不变对象,传引用和传值的效果一样,所以,如果参数是基元数据类型,那么可以看成是传值;如果参数不是基元数据类型,那么就是传引用

2010-10-21 21:23:00 1006

转载 抽象类与接口

最近在做一些AS3项目,有两大问题让我感觉比较头痛的。一是垃圾回收器。由于AS3垃圾回收机制跟AS2有质的区别,但是做的时候又没有了解过这个问题,做了大半才知道,实现AS3的垃圾回收还需要在开发前做好一个相关的架构......这个有位据说是举世闻名的架构师写了相关文章......可惜我哪怕看懂了还是要重写很多东西......另一个则是我在这篇文章要说的接口,虽然在目前的项目里还不是特别需要用上,但是,一直都有人强调接口在OOP里的重要性,但是无论是上网查资料还是看书,都似乎是要让我浅尝辄止,讲的

2010-10-21 17:40:00 519

原创 AS3多态中的向上转换

<br />多态是OOP编程中的一个重要成员,可以说它对OOP起着很大的作用,也极大的方便了我们的程序设计。那么多态到底是一个什么样的成员呢?多态是什么样子的呢?多态到底在哪里得到应用呢?我们将在本节中进行一系列讨论!<br />      多态的实际含义就是多种形态,也就是说一小段代码可以实现几个不同的功能,这就是多态。那么多态是通过什么手段实现的呢?这里我们就要联系到上一节中的内容了—“接口”。笔者研究认为多态的最终实现往往是依赖与接口的,而实现多态的另一个组成部分则是—“抽象类”,还有继承。

2010-10-21 16:01:00 667

原创 多态(Polymorphism)

<br />5.1多态的概念<br />    面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。<br />    多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)<br />    实现多态的技术称为:动态绑定(dynamicbinding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用

2010-10-21 16:00:00 776

原创 FLASH sharedObject(cookies) 写入文件信息,及文件保存目录

<br />创建对象并写入信息:<br />import flash.net.SharedObject;<br />var items_array:Array = new Array(101, 346, 483);<br />var currentUserIsAdmin:Boolean = true;<br />var currentUserName:String = "Ramona";<br /><br />var my_so:SharedObject = SharedObject.g

2010-10-21 15:21:00 938

原创 关于类,接口,多态,工厂方法的实例

实现结果:用户可以输入几何形状(circle,triangle,square)和形状在小(边的长度sideLength),程序自动得出关于该几何形的相关信息(是什么形,面积,周长,角度和) 首先想到为3个形状做3个类,每个类里都有describe()这个方法,用来输出此形状的相关信息。然后再弄一个类,用来判定是用户输入的是哪个形状,创建几何形的实例对象。 用接口去实现。把共同都要执行的方法(尽管执行的内容不同),写在一个接口里。这样就可以利用“多态”来实”完全相同的方法调用会导致执行不同的代码,这取决于要调

2010-10-21 15:20:00 505

原创 使用SharedObject存储对象地址

我的电脑系统是c盘,sharedObject存储的地址是:C:/Documents and Settings/Administrator/Application Data/Macromedia/Flash Player/#SharedObjects

2010-10-21 15:14:00 671

原创 ActionScript 3 中的强制类型转换

<br />每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,AS3自然也不例外。但是虽然我编写了不少Flex程序,对 AS3中的强制类型转换还是不太清楚,以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:<br /><br />Class2(c1);<br /><br />   在AS3中你依然可以这样写,但是AS3 中提供了一个新的操作符: as ,并且推荐使用as

2010-10-21 14:00:00 500

原创 OOP之多态的艺术

见代码:说说最终输出结果。 请不要用IDE,写下你的答案,说明理由。package  {        public class A        {                public function A()                 {                }                public function test():void                {                        trace("A类的方法");         

2010-10-21 13:31:00 345

原创 BitmapData类介绍

注:文中的Bitmapdata和BMD均为同一意思BitmapData,BMD为其缩写------------------------------------------------------------------------------------------------------------今天介绍另外一个比较常用和中高级难度的类:BitmapData用好这个类,可以说是半支脚踏入了Flash高手的大门···(主要是不是太多的人精通这个··呵呵··)我也可以趁这篇文章的机会

2010-10-21 10:18:00 862

原创 观察者模式

<br />观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己<br /><br />观察者模式的组成<br /><br />1.抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口来实现<br />2.抽象观察者角色:为所有具体的观察者定义一个接口,在得到主题的

2010-10-20 09:37:00 822

原创 命令模式

<br />命令Command模式是GOF23种模式中的一种,是一种行为模式。这种模式很难理解。《设计模式》一书中对它语焉不详。而网上的一些文章对其的解释也是错误的。<br />实际上,命令模式并不是那么神秘。本文中我会简单的告诉你什么是命令模式,怎样使用命令模式。<br />命令模式的理解,关键有2点:<br />一、使用接口---实现类的方式。<br />  通常命令模式的接口中只有一个方法。<br />    实现类的方法有不同的功能,覆盖接口中的方法。<br />    在面向对象编程中,大量使用i

2010-10-20 09:36:00 420

原创 连接到套接字

<br />默认情况下, Flash Player 会从端口 843 查找套接字策略文件。和 URL 策略文件一样,此文件称为“ 主策略文件”。<br />在 Flash Player 6 中首次引入策略文件时,并不支持套接字策略文件。与套接字服务器的连接由默认位置中的一个策略文件授<br />权,该默认位置是套接字服务器所在主机的 HTTP 服务器的端口 80。Flash Player 9 仍支持此功能,但 Flash Player 10 不再<br />支持。在 Flash Player 1

2010-10-19 17:44:00 569

原创 网站控制(策略文件)

<br />要使来自 Web 服务器的数据可用于来自其它域的 SWF 文件,可以在服务器上创建一个策略文件。“ 策略文件” 是位于服务器<br />上特定位置的 XML 文件。<br />策略文件可影响对许多资源的访问,其中包括以下内容:<br />• 位图、声音和视频中的数据<br />• 加载 XML 和文本文件<br />• 将 SWF 文件从其它安全域导入到执行加载的 SWF 文件所在的安全域<br />• 对套接字和 XML 套接字连接的访问<br />ActionSc

2010-10-19 17:39:00 601

转载 将您的Flex组件从MXML迁移至ActionScript 3

<br />目前,我们了解到有相当多的途径,可以用来在Actionscript 3的开发环境中构建框架,这是一个很好的迹象。可见开源社区是一个充满活力,富有创造性的地方,那些令开发工作变得更加简单的工具都是很好用的东西。经历了过去一年的发展,Robotlegs AS3得到了快速的推广和广泛的采用。目前,Robotlegs AS3已经广泛应用在主流媒体,创业公司以及各种规模的企业之中。<br /><br />本文是InsideRIA社区中首发的关于Robotlegs 的系列文章之一。 在接下来的几个星期

2010-10-19 13:12:00 702

原创 flash 与 java 类型对应

flash和java有相互映射的类型,如果是多个object,就把这些object放到array里面然后传过去。Object对应java的Map或HashMap,Array对应java的List

2010-10-17 12:48:00 504

原创 MINA TCP 粘包 少包最终解决方案

<br />应用CumulativeProtocolDecoder<br />/*<br /> *  Licensed to the Apache Software Foundation (ASF) under one<br /> *  or more contributor license agreements.  See the NOTICE file<br /> *  distributed with this work for additional information<br />

2010-10-15 11:24:00 1798

原创 MINA2中的拆包组包的处理及一些方法

<br />1.position <br /><br />例: <br />position() <br />第一次使用返回值为当前位置:0 <br /><br /><br />position(8) 返回第8个字节以后的数据(包括第8个)可以和 limit 联合使用 <br />如: <br />buffer.position(3); <br />buffer.limit(7); <br />ByteBuffer slice = buffer

2010-10-15 11:18:00 1400

原创 如何获取AMF3对象类名

<br />对不熟悉AMF3的人来说,这名词有点玄乎,AMF3不过两个函数而已<br /><br />//编码(把对象序列化成AMF3)<br />1 bateArray.writeObject(obj:Object):void<br /><br />//解码 (反序列化,获取对象)<br />2 bateArray.readObject():Object<br /><br />如果需要序列化的对象就是一个哈希map(key-value的集合),那么一切正常<br />但是如果你要序

2010-10-15 10:31:00 898

原创 Mina使用AMF3与Flash Socket通信的"粘包"问题

项目结构图如下:<br /><br />方式: 服务端通过把要发送的数据(这里发送的是对象)编码为amf3格式, 再通过java.util.zip.Deflater 进行压缩,再把压缩后的数据发往客户端.<br />         客户端通过ByteArray.uncompress() 方法解压, 再通过ByteArray.readObject()方法读取数据(服务端发送的是对象).<br />mina的文章网上很多, 此项目不再解释.<br />复制代码即可运行.说明: 由于使用的nio流在进行

2010-10-14 22:43:00 3336

原创 AS3作用域规则–this指向哪里

<br />还是看个例子:package{importflash.display.Sprite;  publicclass scope_test extends Sprite{publicfunction scope_test(){ fee()(); }  privatevar i:int = 1;  privatefunction fee():Function{var i:int = 2; var

2010-10-14 10:44:00 847

原创 AS3作用域规则–我对闭包(closure)的理解

<br />接着上一篇 静态作用域 的论述。 有时候我想,这样的作用域是如何实现的呢。as3 和 flash player 本身没有开放,我在这里做的也只是猜想,像一些胡言乱语者一样拿一些理论往里套而已。要理解作用域规则就不得不提到“闭包”(closure)的概念。要知道在as3的世界里一切都是对象,方法也是对象。闭包一般就是针对方法对象的。方法内部的变量可以认为是方法对象的对象属性。<br />我在livedocs上搜到两个概念的解释,其中一个是作用域链(scope chai

2010-10-14 10:42:00 1082

原创 AS3作用域规则 — 静态作用域

<br />as3的作用域让人感觉有点乱,不知道改如何专业的解释,最近一直在看 python 源码分析,受了些启发。也许as3也遵守这种静态作用域规则,感觉所有的动态语言都有异曲同工之妙吧。<br />静态作用域(static scope,也叫lexical scope,字面作用域),是一种根据语言文本的位置确定变量引用的规则。我从wikipedia上找到一个解释:<br />With static scope, a variable always refers to its top-lev

2010-10-14 10:39:00 795

原创 flash AS3函数闭包代码

闭包是可以包含自由(未绑定)变量的代码块; 这些变量不是在这个代码块或者任何全局上下文中定义的,而是在定义代码块的环境中定义。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量的存在,相关变量引用没有释放)和为自由变量提供绑定的 闭包是可以包含自由(未绑定)变量的代码块; 这些变量不是在这个代码块或者任何全局上下文中定义的,而是在定义代码块的环境中定义。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量的存在,相关变量引用没有释放)和为自由变量提供绑定的计算环境(作用

2010-10-14 10:22:00 1094

原创 深入理解Apache Mina (6)---- Java Nio ByteBuffer与Mina ByteBuffer的区别

<br />为了对后续关于Mina的ProtocolFilter(编解码器)的编写有一个更好的理解,本文讲述一下关于Mina ByteBuffer和Java Nio ByteBuffer的区别。关于Java Nio ByteBuffer和Mina ByteBuffer及其子类的类图在附件中都已经给出了。因为Mina的ByteBuffer在Mina 2.0以上的版本中都改称IoBuffer。为了使后文关于ByteBuffe

2010-10-14 09:48:00 1654 1

原创 深入理解Apache Mina(5)---- 配置Mina的 线程模型

<br />在Mina的使用中,线程池的配置一个比较关键的环节,同时它也是Mina性能提高的一个有效的方法,在Mina的2.0以上版本中已经不再需要对Mina线程池的配置了,本系列文章都是基于当前的稳定版本Mina 1.1.7版来进行讲述的,Mina的2.0以上版本现在还都是M(millestone,即里程碑)版的,在1.5版本上2.0M版为稳定版本,但是在1.5+以上则为非稳定版本,所以,为了更好的进行讨论和学习,还是基于Mina 1.1.7版本进行讨论,如果使用Mina 2.0进行开发要

2010-10-14 09:41:00 2403 1

原创 Mina状态机介绍(Introduction to mina-statemachine)

<br />如果你使用Mina开发一个复杂的网络应用时,你可能在某些地方会遇到那个古老而又好用的状态模式,来使用这个模式解决你的复杂应用。然而,在你做这个决定之前,你或许想检出Mina的状态机的代码,它会根据当前对象的状态来返回对接收到的简短的数据的处理信息。<br /> <br />注意:现在正式发布Mina的状态机。因此你要自己在Mina的SVN服务器上检出该代码,并自己编译,请参考开发指南,来获取更多的关于检出和编译Mina源码的信息。Mina的状态机可以和所有已经发布的版本Mina配合使用(

2010-10-14 09:39:00 1731

最全C&C++程序员面试宝典程序员面试宝典(C/C++版,pdf扫描)

包括面试技巧,数据结构,设计模式,数据库,操作系统,网络等概述,可在面试前巩固一下基础

2018-12-18

Cocos2d-x实战 Lua卷.pdf

Cocos2d-x实战 Lua卷.pdf 版 介绍Cocos2d-x Lua游戏编程和开发技术的书籍,介绍了使用Cocos2dx Lua中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台移植、程序代码管理、两大应用商店发布产品。全书分为六篇: 基础篇、进阶篇、数据与网络篇、优化篇、跨平台移植篇和实战篇,共23章。基础篇包括第1~8章,分别是Cocos2d-x Lua介绍、环境搭建、标签、菜单、精灵、场景、层、动作、特效、动画和用户事件。进阶篇包括第9~12章,分别是游戏音乐与音效、粒子系统、瓦片地图和 物理引擎。数据与网络篇包括第13~15章,分别是数据持久化、基于HTTP的网络通信、Node.js与WebSocket网络通信。优化篇为第16 章,主要介绍性能优化。跨平台移植篇包括第17章和第18章,分别是移植到Android平台和移植到iOS平台。实战篇包括第19~23章,分别是使用 Git管理程序代码、项目实战——迷失航线手机游戏、为迷失航线游戏添加广告、发布放到Google play应用商店和发布放到苹果App Store。

2018-09-11

交互式计算机图形学 基于WEBGL的自顶向下方法 7th 源代码

该资源是《交互式计算机图形学 基于OpenGL着色器的自顶向下方法(第7版) 》里面的代码

2018-09-02

计算机图形学 基于WebGL的自顶向下方法 第7版

全部章节的 另一本webGL学习资料,内容为全部内容。自OpenGL之后的另一本计算机图形学资料,适合Web端开发三维的同学

2018-08-31

我所理解的Cocos2d-x ,秦春林编著 ,P4381.pdf

《我所理解的Cocos2d-x》针对最新的 Cocos2d-x 3.x版本,介绍了Coco2d-x游戏引擎的基本架构、渲染机制,以及各个子模块的功能和原理,并结合OpenGL ES图形渲染管线,深入探讨了游戏开发中涉及的相关图形学的知识,内容包括:Cocos2d-x的基本架构及渲染机制、纹理相关的知识、OpenGL ES 2.0渲染管线、计算机字体的绘制、多分辨率支持、事件分发、碰撞与物理引擎、游戏对象模型架构、Genius-x开源框架、脚本在游戏引擎中的架构等。

2018-08-29

微信跳一跳源码

微信小游戏跳一跳源码,喜欢的童鞋可以拿走,共同学习

2018-01-21

3D数学基础:图形与游戏开发高清带目录中文版.pdf

邓恩 (作者), 帕贝利 (作者), 史银雪 (译者), 陈洪 (译者), 王荣静 (译者) 《3D数学基础:图形与游戏开发》专业培训机构指定教学参考书,多家游戏开发企业共同推荐,游戏业界权威,探索游戏开发背后的核心秘密。《3D数学基础:图形与游戏开发》主要介绍了基本的3D数学概念,这对电脑游戏开发人员和编程人员来说尤为重要。作者详尽地讨论了数学理论,并在必要时提供几何说明,帮助读者形成直观的3D感。书中还提供了将理论应用于实践的C++类,并且在每章结尾处提供练习。《3D数学基础:图形与游戏开发》介绍了基础概念,如向量、坐标空间、矩阵、变换、欧拉角、齐次坐标空间、几何图元、相交性检测和三角网格。

2017-07-03

xcode配置iOS10.3开发包

2017-03-29

WebGL编程指南

基本信息 原书名:WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL (OpenGL) 原出版社: Addison-Wesley Professional 作者: (美)Kouichi Matsuda Rodger Lea(松田浩一,罗杰.李) 译者: 谢光磊 出版社:电子工业出版社 ISBN:9787121229428 上架时间:2014-6-11 出版日期:2014 年6月 开本:16开 页码:470 版次:1-1 --------------------- 目录 《WebGL编程指南》 第1 章 WebGL 概述 1 WebGL 的优势 3 使用文本编辑器开发三维应用 3 轻松发布三维图形程序 4 充分利用浏览器的功能 5 学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件(HelloCanvas.html) 16 JavaScript 程序(HelloCanvas.js) 17 用示例程序做实验 22 绘制一个点(版本1) 22 HelloPoint1.html 24 HelloPoint1.js 24 着色器是什么? 25 使用着色器的WebGL 程序的结构 27 初始化着色器 29 顶点着色器 31 片元着色器 33 绘制操作 34 WebGL 坐标系统 35 用示例程序做实验 37 绘制一个点(版本2) 38 使用attribute 变量 38 示例程序(HelloPoint2.js) 39 获取attribute 变量的存储位置 41 向attribute 变量赋值 42 gl.vertexAttrib3f() 的同族函数 44 用示例程序做实验 45 通过鼠标点击绘点 46 示例程序(ClickedPoints.js) 47 注册事件响应函数 48 响应鼠标点击事件 50 用示例程序做实验 53 改变点的颜色 55 示例程序(ColoredPoints.js) 56 uniform 变量 58 获取uniform 变量的存储地址 59 向uniform 变量赋值 60 gl.uniform4f() 的同族函数 61 总结 62 第3 章 绘制和变换三角形 63 绘制多个点 64 示例程序(MultiPoint.js) 66 使用缓冲区对象 69 创建缓冲区对象(gl.createBuffer()) 70 绑定缓冲区(gl.bindBuffer()) 71 向缓冲区对象中写入数据(gl.bufferData()) 72 类型化数组 74 将缓冲区对象分配给attribute 变量(gl.vertexAttribPointer()) 75 开启attribute 变量(gl.enableVertexAttribArray()) 77 gl.drawArrays() 的第2 个和第3 个参数 78 用示例程序做实验 79 Hello Triangle 80 示例程序(HelloTriangle.js) 80 基本图形 82 用示例程序做实验 83 Hello Rectangle(HelloQuad) 84 用示例程序做实验 85 移动、旋转和缩放 86 平移 87 示例程序(TranslatedTriangle.js) 88 旋转 91 示例程序(RotatedTriangle.js) 93 变换矩阵:旋转 97 变换矩阵:平移 100 4×4 的旋转矩阵 101 示例程序(RotatedTriangle_Matrix.js) 102 平移:相同的策略 105 变换矩阵:缩放 106 总结 108 第4 章 高级变换与动画基础 109 平移,然后旋转 109 矩阵变换库:cuon-matrix.js 110 示例程序(RotatedTriangle_Matrix4.js) 111 复合变换 113 示例程序(RotatedTranslatedTriangle.js) 115 用示例程序做实验 117 动画 118 动画基础 119 示例程序(RotatingTriangle.js) 119 反复调用绘制函数(tick()) 123 按照指定的旋转角度绘制三角形(draw()) 123 请求再次被调用(requestAnimationFrame()) 125 更新旋转角(animate()) .126 用示例程序做实验 128 总结 130 第5 章 颜色与纹理 131 将非坐标数据传入顶点着色器 131 示例程序(MultiAttributeSize.js) 133 创建多个缓冲区对象 134 gl.vertexAttribPointer() 的步进和偏移参数 135 示例程序(MultiAttributeSize_Interleaved.js) 136 修改颜色(varying 变量) 140 示例程序(MultiAttributeColor.js) 141 用示例程序做实验 144 彩色三角形(ColoredTriangle.js) 145 几何形状的装配和光栅化 145 调用片元着色器 149 用示例程序做实验 149 varying 变量的作用和内插过程 151 在矩形表面贴上图像 153 纹理坐标 156 将纹理图像粘贴到几何图形上 156 示例程序(TexturedQuad.js) 157 设置纹理坐标(initVertexBuffers()) 160 配置和加载纹理(initTextures()) 160 为WebGL 配置纹理(loadTexture()) 164 图像Y 轴反转 164 激活纹理单元(gl.activeTexture()) 165 绑定纹理对象(gl.bindTexture()) 166 配置纹理对象的参数(gl.texParameteri()) 168 将纹理图像分配给纹理对象(gl.texImage2D()) 171 将纹理单元传递给片元着色器(gl.uniform1i()) 173 从顶点着色器向片元着色器传输纹理坐标 174 在片元着色器中获取纹理像素颜色(texture2D()) 174 用示例程序做试验 175 使用多幅纹理 177 示例程序(MultiTexture.js) 178 总结 183 第6 章 OpenGL ES 着色器语言(GLSL ES) 185 回顾:基本着色器代码 186 GLSL ES 概述 186 你好,着色器! 187 基础 187 执行次序 187 注释 187 数据值类型(数值和布尔值) 188 变量 188 GLSL ES 是强类型语言 189 基本类型 189 赋值和类型转换 190 运算符 191 矢量和矩阵 192 赋值和构造 193 访问元素 195 运算符 197 结构体 200 赋值和构造 200 访问成员 200 运算符 201 数组 201 取样器(纹理) 202 运算符优先级 203 程序流程控制:分支和循环 203 if 语句和if-else 语句 203 for 语句 204 continue、break 和discard 语句 205 函数 205 规范声明 207 参数限定词 207 内置函数 208 全局变量和局部变量 209 存储限定字 209 const 变量 209 Attribute 变量 210 uniform 变量 211 varying 变量 211 精度限定字 211 预处理指令 213 总结 215 第7 章 进入三维世界 217 立方体由三角形构成 217 视点和视线 218 视点、观察目标点和上方向 219 示例程序(LookAtTriangles.js) 221 LookAtTriangles.js 与RotatedTriangle_Matrix4.js 224 从指定视点观察旋转后的三角形 225 示例程序(LookAtRotatedTriangles.js) 227 用示例程序做实验 228 利用键盘改变视点 230 示例程序(LookAtTrianglesWithKeys.js) 230 独缺一角 232 可视范围(正射类型) 233 可视空间 234 定义盒状可视空间 235 示例程序(OrthoView.html) 236 示例程序(OrthoView.js) 237 JavaScript 修改HTML 元素 239 顶点着色器的执行流程 239 修改near 和far 值 241 补上缺掉的角(LookAtTrianglesWithKeys_ViewVolume.js) 243 用示例程序做实验 245 可视空间(透视投影) 246 定义透视投影可视空间 247 示例程序(perspectiveview.js) 249 投影矩阵的作用 251 共冶一炉(模型矩阵、视图矩阵和投影矩阵) 252 示例程序(PerspectiveView_mvp.js) 254 用示例程序做实验 257 正确处理对象的前后关系 258 隐藏面消除 260 示例程序(DepthBuffer.js) 262 深度冲突 263 立方体 266 通过顶点索引绘制物体 268 示例程序(HelloCube.js) 268 向缓冲区中写入顶点的坐标、颜色与索引 271 为立方体的每个表面指定颜色 274 示例程序(ColoredCube.js) 275 用示例程序做实验 277 总结 279 第8 章 光照 281 光照原理 281 光源类型 283 反射类型 284 平行光下的漫反射 286 根据光线和表面的方向计算入射角 287 法线:表面的朝向 288 示例程序(LightedCube.js) 291 环境光下的漫反射 296 示例程序(LightedCube_ambient.js) 298 运动物体的光照效果 299 魔法矩阵:逆转置矩阵 301 示例程序(LightedTranslatedRotatedCube.js) 302 点光源光 304 示例程序(PointLightedCube.js) 305 更逼真:逐片元光照 308 示例程序(PointLightedCube_perFragment.js) 309 总结 310 第9 章 层次模型 311 多个简单模型组成的复杂模型 311 层次结构模型 313 单关节模型 314 示例程序(JointMode.js) 315 绘制层次模型(draw()) 319 多节点模型 321 示例程序(MultiJointModel.js) 323 绘制部件(drawBox()) 326 绘制部件(drawSegments()) 327 着色器和着色器程序对象:initShaders() 函数的作用 332 创建着色器对象(gl.createShader()) 333 指定着色器对象的代码(gl.shaderSource()) 334 编译着色器(gl.compileShader()) 334 创建程序对象(gl.createProgram()) 336 为程序对象分配着色器对象(gl.attachShader()) 337 连接程序对象(gl.linkProgram()) 337 告知WebGL 系统所使用的程序对象(gl.useProgram()) 339 initShaders() 函数的内部流程 339 总结 342 第10 章 高级技术 343 用鼠标控制物体旋转 343 如何实现物体旋转 344 示例程序(RotateObject.js) 344 选中物体 347 如何实现选中物体 347 示例程序(PickObject.js) 348 选中一个表面 351 示例程序(PickFace.js) 352 HUD(平视显示器) 355 如何实现HUD 355 示例程序(HUD.html) 356 示例程序(HUD.js) 357 在网页上方显示三维物体 359 雾化(大气效果) 359 如何实现雾化 360 示例程序(Fog.js) 361 使用w 分量(Fog_w.js) 363 绘制圆形的点 364 如何实现圆形的点 364 示例程序(RoundedPoint.js) 366 α 混合 367 如何实现α 混合 367 示例程序(LookAtBlendedTriangles.js) 369 混合函数 369 半透明的三维物体(BlendedCube.js) 371 透明与不透明物体共存 372 切换着色器 373 如何实现切换着色器 374 示例程序(ProgramObject.js) 375 渲染到纹理 379 帧缓冲区对象和渲染缓冲区对象 380 如何实现渲染到纹理 381 示例程序(FramebufferObject.js) 382 创建帧缓冲区对象(gl.createFramebuffer()) 385 创建纹理对象并设置其尺寸和参数 385 创建渲染缓冲区对象(gl.createRenderbuffer()) 386 绑定渲染缓冲区并设置其尺寸(gl.bindRenderbuffer(), gl.renderbufferStorage()) 386 将纹理对象关联到帧缓冲区对象(gl.bindFramebuffer(), gl.framebufferTexture2D()) 388 将渲染缓冲区对象关联到帧缓冲区对象(gl.framebufferRenderbuffer()) 389 检查帧缓冲区的配置(gl.checkFramebufferStatus()) 390 在帧缓冲区进行绘图 390 绘制阴影 392 如何实现阴影 392 示例程序(Shadow.js) 393 提高精度 399 示例程序(Shadow_highp.js) 400 加载三维模型 401 OBJ 文件格式 404 MTL 文件格式 405 示例程序(OBJViewer.js) 406 自定义类型对象 409 示例程序(OBJViewer.js 解析数据部分) 411 响应上下文丢失 418 如何响应上下文丢失 419 示例程序(RotatingTriangle_contextLost.js) 420 总结 422 附录A WebGL 中无须交换缓冲区 423 附录B GLSL ES 1.0 内置函数 427 角度和三角函数 428 指数函数 429 通用函数 430 几何函数 433 矩阵函数 434 矢量函数 435 纹理查询函数 436 附录C 投影矩阵 437 正射投影矩阵 437 透视投影矩阵 437 附录D WebGL/OpenGL :左手还是右手坐标系? 439 示例程序(CoordinateSystem.js) 440 隐藏面消除和裁剪坐标系统 443 裁剪坐标系和可视空间 444 什么是对的? 446 总结 448 附录E 逆转置矩阵 449 附录F 从文件中加载着色器 453 附录G 世界坐标系和本地坐标系 . 457 本地坐标系 458 世界坐标系 459 变换与坐标系 461 附录H WebGL 的浏览器设置 . 463

2016-02-20

用ActionScript开发高级可视化组件

用ActionScript开发高级可视化组件 详细介绍 我们可以用ActionScript开发在Adobe® Flex™应用中使用的高级可视化组件,这个主题,包 括以下方面的内容: 1. 关于创建高级组件 2. 组件的实现 3. 使组件具备可访问性 4. 为组件增加版本号 5. 组件设计的最佳实践 6. 例子:创建一个复合组件 7. 疑难问题 简单组件一般都是现存Flex 组件的子类,它们通过设置skpins 或styles 属性来修改父组 件的外观,或者添加一些新的功能。比如,为Button 控件增加一个新的事件类型,或者更改 DataGrid 控件缺省的styles 和skins。更多信息参见,Simple Visual Components in ActionScript. 在高级组件中,通常会执行以下动作:

2009-10-05

CSS.Mastery.精通CSS(中文版).part02

刚才搜索了一下,论坛里只有英文版的,恰好前几天下载到中文版的,虽然有点大,还是上传和大家分享了。 个人想法:虽然翻译得不怎么样,但结合着英文版,还是挺不错的。如果英语水平还行,对照着金山词霸看,是不错的选择。

2008-09-12

拉格朗日(Lagrange)插值实验

新编的,计算方法用,拉格朗日(Lagrange)插值实验课上用到的

2007-11-30

计算方法中的牛顿插值

可以看看,不是很难,蛮好实现的,在计算方法中使用的

2007-11-30

操作系统中的分页存储

自己编的分页存储 操作系统,实现了分页系统

2007-11-30

设备管理程序 操作系统中的

自己做的操作系统中的设备管理程序,很久了。。。

2007-11-30

空空如也

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

TA关注的人

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