用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash as3.0教程>列表

ActionScript 3 Tip of the Day

[来源:nshen.net | 作者:nshen | 时间:2008-04-02 | 点击:  | 收藏本文  【 】]
今天看到aw的blog上好象要翻译AS3 Tip of the Day 才想起来偶也看过这个,但是后来没坚持翻下去,也就没发出来,正好最近这一系列又更新了一些关于flash cs3相关的内容,所以还是打算继续把他看完,以下有些是简译,有些是直译,有些根本不是翻译,是摘录或是看完后用我自己的话组织的,方便我自己查看,想看完整翻译的还是等看aw的吧,偶的英语水平跟他差远了

General:

1. 动态改变帧频:
 // change frame rate to 12 fps:
 stage.frameRate = 12;

2. Abstract Classes

as3不支持抽象类,但有几个内置的抽象类

DisplayObject
InteractiveObject
DisplayObjectContainer
Graphics

as3中这意味着不能实例化这些类,也不能继承他们 ,以下为错误操作:
// 错误1

var myObj:InteractiveObject = new InteractiveObject(); // ERROR
// 错误2

package {
 import flash.display.DisplayObject;
 public class MyDisplay extends DisplayObject{
 public function MyDisplay (){
 // ERROR
 }
 }
}

3. Deep Object Copies with ByteArray

as3中很容易使用(flash.utils.ByteArray)类来进行对象的深拷贝,深拷贝不只拷贝引用,而是拷贝整个相关对象,

例如一个array里包含一个object引用,这个object也将被拷贝

注意:这个方法通常用来拷贝一般的object

拷贝函数:
function clone(source:Object):* {
 var copier:ByteArray = new ByteArray();
 copier.writeObject(source);
 copier.position = 0;
 return(copier.readObject());
}

使用方法:
newObjectCopy = clone(originalObject);

4. Determine Instance Class or Superclass

as3中可以很容易的获取某个实例所属的类和父类的类名,使用这两个方法

getQualifiedClassName (flash.utils.getQualifiedClassName).
getQualifiedSuperclassName (flash.utils.getQualifiedSuperclassName)
var sprite:Sprite = new Sprite();
trace(getQualifiedClassName(sprite)); // "flash.display::Sprite
trace(getQualifiedSuperclassName(sprite)); // "flash.display::DisplayObjectContainer"

你甚至可以由字符串获得类的引用,使用这个方法

getDefinitionByName (flash.utils.getDefinitionByName).
getDefinitionByName("flash.display::Sprite")); // [class Sprite]

5. Multiple Arguments in trace()

as3
trace(value1, value2, value3);
as1,as2
trace([value1, value2, value3]);

6. Loading Text and XML with URLLoader
var loader:URLLoader;
// ...
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, xmlLoaded);

var request:URLRequest = new URLRequest("file.xml");
loader.load(request);
//...
function xmlLoaded(event:Event):void {
 var myXML:XML = new XML(loader.data);
 //...
}

7.Get Sound Spectrum Information


(flash.media.SoundMixer)类的computeSpectrum静态方法可以把正在播放的声谱信息转成ByteArray,由此你可以想到办法把声谱可视化显示出来
// play sound...
var spectrumInfo:ByteArray = new ByteArray();
SoundMixer.computeSpectrum(spectrumInfo);
// spectrumInfo is now a byte array with sound spectrum info


具体可视化的方法可以看swfdong那里的教程 :)

8. Garbage Collection: Reference Counting & Mark and Sweep

垃圾回收机制包含两个关键:

(1)Reference Counting (引用数) :

引用数就是在内存中引用同一个object的变量多少,每增加一个变量引用该object,引用数就+1
var a:Object = new Object(); // new Object in memory given reference count of 1
var b:Object = a; // Object now has reference count of 2
无论什么时候,当没有变量引用该object的时候,垃圾回收就会把他们回收了
delete a; // Object has reference count of 1
delete b; // Object has reference count of 0, removed from memory
注意delete只能删除非成员变量,而且删除的是引用该object的变量而不是将object从内存中删除,那是垃圾回收器要做的事

上一页12 3 4 5 6 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:flash cs3 ActionScript 3.0 入门推荐教程
下一篇:ActionScript 3 Cookbook中文版 章节预览
Tags:     // var new the public 引用 function 可以 stage class
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·flash【.swf?id=】很简单的获取
·AS3.0 单一职责原则设计模式
·as3打造一个非常酷的莲花曲线效
·AS3制作MP3波形图
·AS3的网页参数处理
·flash地图游戏说明如何结合AS3.0
·2/8/10/16/32进制AS3自带函数进
·as3实现点击图片取色
·flash as3+php上传源文件下载
·TransformManager (AS3) - Inter
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号