随笔分类 - ActionScript 3.0
as的一些重要的知识点
摘要:as3种常见的弹性效果公式以及波形运动等as3动画效果公式代码整理,对于常用的来说作者整理的很全面,包括AS3的进制转换颜色提取等效果:AS3缓动公式:1 sprite.x += (targetX – sprite.x) * easing;//easing为缓动系数变量sprite.y += (targetY – sprite.y) * easing;AS3弹性公式:1 vx += (targetX – sprite.x) * spring;//spring为弹性系数vy += (targetY – sprite.y) * spring;sprite.x += (vx *= friction)
阅读全文
摘要:路径跟踪是游戏开发中一个经常出现的问题。此教程涵盖引导行为的路径跟踪,这里的路径是提前根据点和线预设好的。 注意:虽然此教程是用AS3和Flash实现的,你也可以在其他语言开发环境下使用这些类似的技巧和概念。当然前提是需要有基本的数学向量的知识。 介绍 路径跟踪可以用多种方式实现。Reynolds原型就是使用线来实现的,这里需要严格的按照线来实现。 根据不同情况,准确度要求不同。角色可以根据线路运动,但是只是做一个参照而不是严格按照轨道来运行。 此教程的路径跟踪是Reynolds原型的简化实现。运行效果不错,但是严重依靠数学的向量投影计算。 设定路径 路径可以是线连接的点的集合。...
阅读全文
摘要:解决AS3 Socket安全问题什么是最令人头疼的问题?也许大家会异口同声的说:“安全问题”,不错,不仅仅是AS3 的Socket,整个AS3语言中最令人头疼的问题也无非就是安全问题了。 很多同行的兄弟在郁闷的时候就会骂Adobe。但是,骂归骂,问题终归是要解决的,Adobe做这样的限制肯定是有他的用意的,大家都知道,swf文件是很 容易被反编的,那么也就是说你的swf文件内部与服务器通信的方式及路径是很容易被别人发现的,如果你的服务器中没有任何访问限制,那么你的服务器很容易 被一些人攻破,这并不需要很高的水平,只要一直刷,你的服务器就完了。 兄弟,您骂够了吗?我们来解决问题吧? 用...
阅读全文
摘要:处理XML文件,可以很容易引起Flash内存“泄漏”。你的应用程序可能只保留XML文件内容的一小部分,但整个文件可能会留在内存中,从来没有垃圾回收。今天的文章中讨论这是如何发生的,以及如何清理所有未使用的内存。这种特殊的内存“泄漏”源于一个奇特的行为,在Flash中构建其他字符串的字符串实际上并不拥有一份原始字符串的字符。相反,它们有一个“主字符串”字段引用原始字符串中的字符。在调试版本的Flash Player,你可以看到“主字符串”使用flash.sampler.getMasterString的内容。请看下面的例子:1 var str:String = "ABCDEFGHIJKL
阅读全文
摘要:在本教程中,会让你知道要创建的等距世界的广泛概述。你将学习什么是等角投影,以及如何用二维数组表示等距水平。我们会制定视图和逻辑之间的联系,这样我们就可以很容易的操纵屏幕上的对象,处理区块碰撞检测。我们也考虑深度排序和角色动画。1.等距世界等距视图是一种用来为2D游戏-有时也被称为伪3D或2.5D,创建3D错觉的显示方法。这些图片(图片来自最初的暗黑破坏神和帝国时代游戏)说明了我的意思:实施等距视图有很多方法,但为了简单起见,我将重点放在一个基于区块的方法,这是最有效、使用最广泛的方法。我上面的截图已经覆盖了一个菱形网格将地形分成区块。2.基于区块的游戏在基于区块的方法中,每个视觉元素都被分解成
阅读全文
摘要:flash builder 4.6不允许 wsdl文件中import xsd文件,如果import,会提示 "referenced file error"之类的,只好用XMLSPY重新小心翼翼的重写了一份WSDL文件,最后发现,fb居然不支持soap:Array,而且wsdl2java对soap:Array的复杂类型定义时,也存在问题。只好又从WSDL文件中去掉 soap:Array类型的定义。参考以下方法:修改前代码:1 <xsd:complexType name="_BooksRecordList"> <xsd:complexCon
阅读全文
摘要:ATF纹理能明显降低纹理的内存使用,但是有时候你可能不会用到它。如果你是动态生成纹理或者从第三方加载,那就不需要使用压缩的ATF纹理了。今天此文主要讲述如果在不使用ATF的情况下节省内存。首先,确保你的应用时运行在Flash Player11.7或者AIR3.7下,可以通过Capabilities.version快速查看下。编译的时候也需要将Player11.7设为目标Flash player,可以用如下参数:-target-player=11.7.0,-swf-version=20.输入上面参数可以解锁郎中类型的纹理,这两种纹理都是每个像素是用16位来表示,而不是平常的24位或者32位。当然
阅读全文
摘要:一、项目需求1 1、顺序替换--“您确定要花费{money}金币,来购买{amount}个红瓶吗?”2 2、全局替换--“{name},奖励所有人{money}人民币和{exp}美元。呵呵。”二、函数的基本轮廓1 public function printf( str:String, ... rest ):String2 {3 //... parse4 return string;5 }三、顺序替换的实现我们可以用正则来描述顺序替换中需要替换的关键词:\{[a-z0-9_]+\}这个正则所表示的意思:所以形如{字母/数字/下划线}的内容,并且你可能需要忽略大小写,最终为:/\{...
阅读全文
摘要:Flash Player 会以SWF内容的帧频速度来刷新需要变化的内容,而这个刷新的过程,我们通常称为“重绘(redraw)”,相信即便是初级的菜鸟也知道,只要使用的是Debug版本的Flash Player, 右键菜单里就会有“Show Redraw Regions (显示重绘区域)” 这个选项,当此选项打开的时候,我们就能清楚地看到此刻场景内被重绘的区域。那么什么情况下会发生重绘呢?1、最常见的是情况就是舞台上的可视组件在形状、位置、状态(alpha, scale...)发生改变的时候会触发Flash Player 的重绘。2、当一个DisplayObject的层级(ChildIndex)
阅读全文
摘要:AMF主要是在存储配置上很牛,但是还有很多小技巧可以让它更好。今天此文就是告诉你如何自定义对象的序列化和解序列化来让文件更小并且获得最大的控制。 AMF格式产生的文件比JSON和XML格式的都要小的多,但它主要不是因为减小文件大小而出名。AMF在一般对象上处理的还是不错的,但是很多情况我们需要关于特殊对象的具体信息。例如:一个元素的类Element。1 class Element2 {3 public var symbol:String;4 public var atomicNumber:uint;5 }很不幸的是AS3不允许我们使用小整型,32位足...
阅读全文
摘要:众所周知我们可以利用ByteArray自动序列化任何东西并且它比XML或者Json都要小和快。但是为什么会这样小呢?此文做了一些调查后揭露为什么此格式如此高效,并告诉如何在解序列化的时候减少工作量。为方便探究,我们需要一个简单的Person类: 1 class Person 2 3 { 4 5 var first:String; 6 7 var last:String; 8 9 var mother:Person;10 11 var father:Person;12 13 }当我们用Bytearray的wirteo...
阅读全文
摘要:构想flash尽量小? 采用背景图片与flash分离方式可编辑?外部传值flash透明 背景还要有onmouseover 效果? 用AS3调用JS 操作DOM原理利用 AS3ExternalInterface 接口与 JS通信用坐标轴 计算得出 onmouseover 元素初始化参数如下:1 var op={2 width:1024, //flash 宽度3 height:530, //flash 高度4 target:'new', //ta...
阅读全文
摘要:Starling自诞生以来,已经变成一个非常受欢迎的框架 - 这已经远远超乎了我们的想象。它被视为跨平台游戏开发的最佳解决方案之一。为多个平台(iOS,Android,和WEB)开发游戏从未如此简单!然而,我们知道,WEB正在经历一个重大的转变:远离专有插件,拥抱开放标准。其实我们相信这是很好的开端,我们也知道很多仍然依赖Flash平台的开发者提出了许多问题,比如:Flash插件从现在算起只有两年左右的生命了吗?我是继续在这个平台投入,还是另选平台?JavaScript是否有足够的能力满足我的需求?我们相信我们已经找到了一个很好的解决方案,回答所有这些问题。不依赖任何插件的Starling目前
阅读全文
摘要:Adobe Flash Player 10.2 版本引入了一个引人注目的新特性:原生鼠标指针。您现在可以使用运行在操作系统层的基于位图的鼠标指针。实现原生鼠标指针flash.ui 包中的 MouseCursorData 对象MouseCursorData 对象的三个属性:MouseCursorData.data:用于显示鼠标指针的 BitmapData 对象向量。MouseCursorData.hotSpot:鼠标指针的定位点值,保存为一个 Point 对象。MouseCursorData.frameRate:用于实现位图图像序列动画的帧频。这个属性允许您创建动画鼠标指针。在创建一个 Mous
阅读全文
摘要:View Code 1 /* * 2 * BigInt 3 * An ActionScript 3 implementation of Big Integer (light version) 4 * Copyright (c) 2009 Alex.li 5 * http://www.cppblog.com/sleepwom/archive/2009/12/14/103180.html 6 * Derived from: 7 * BigInt.js - Arbitrary size integer math package for JavaScrip...
阅读全文
摘要:介绍在Flash Player中AS的执行跟屏幕重绘都是在单线程处理的。为了便于屏幕重绘,必须要让所有执行代码都执行完毕。对一个帧率24fps的SWF来说,这意味着所有AS操作都在一个帧里运行,醉倒42ms会执行完毕。这还不考虑会随时变化的重绘屏幕的时间。如果代码执行需要更多时间,那Flash Player将会加锁,知道完成为止或者经过默认一个时间片后停止代码执行。本超时出错对话框(只能在调试版本的Flash Player中出现哦)本教程将涵盖对此问题的解决方案-如果你的操作里含有AS计算需要超过给定帧的时间时,这些计算将会异步执行;它们不会被阻塞,并且会在调用它们执行结束后统一结束。这样会在
阅读全文
摘要:Function:函数是可在 ActionScript 中调用的基本代码单位。 ActionScript 中用户定义的函数和内置函数都由 Function 对象来表示,该对象是 Function 类的实例。类的方法与 Function 对象略有不同。 与普通函数对象不同,方法和与其关联的类对象紧密关联。 因此,方法或属性具有在同一类的所有实例中共享的定义。 可以从实例提取方法并将其处理为“绑定”方法(保留与原始实例的链接)。 对于绑定方法,this关键字指向实现该方法的原始对象。 对于函数,this在调用函数时指向关联对象。1、apply():指定要在 ActionScript 调用的任何函数
阅读全文
摘要:进入首选项->Flash Builder->编辑器,勾选“使用其他自定义触发器”.
阅读全文
摘要:当我们一边正在等待Stage3D的发布时,很多开发者似乎还停留在这个印象中:即使AIR 3.0也无法在移动设备上开发出高性能的游戏。而事实上,只需要做一点点的工作,高性能的GPU加速功能已经为我们敞开了大门!在这片文章中,我将为您展示跟传统显示列表编程方式相比,能提升5倍以上的性能的优化方案。最终成果将会是一个用IOS5硬件加速的性能更高的渲染引擎(这点在后文跟进…)。本文说的啥 Adobe的工程师们在为AIR3.0重新设计GPU渲染模式的任务中做了出色的工作。现在我们开发者只需做很少量的工作,就可以从这些小小的移动设备上哄骗出超乎想象的性能。那么,我们到底需要做些什么呢?1.在你的app..
阅读全文
摘要:Shawn Blais 让我了解到如何在移动平台上对AS3代码进行优化。他的博客(http://esdot.ca/site/category/blog)只有十来篇文章,但都是些很意思的信息,尤其适合我。这篇文章介绍的是关于图形方面的优化。 下面三个步骤可以提高程序的性能,其实都围绕一个理论:一切皆bitmap。 或许你可以使用MovieClips 或者 Sprite序列动画,甚至可以继续保持使用Flash的渲染列表来保持代码简单整洁。但真正的图片数据是? Bitmap!一切皆bitmap。步骤一: 使用GPU渲染 当你创建一个移动程序的时候,你会找到一个包含所有基本程序设定的文件,叫"
阅读全文