本文主要讲述C++与as语言语法和API运用的差异
1、as继承基类时,不能把基类的静态成员继承下来,必须是哪个类声明的静态成员,就哪个类去调用.
2、actionscript语言中as操作符有着转换数据类型的作用,如果曾经是某某类型那么用as就可以转换成这类型,否则为null
3、as加载图片的两种方式
第一种方法比较灵活:
var loader:Loader = new Loader();
addChild(loader);
loader.load(new URLRequest("your.jpg/png"));
需要导入
import flash.net.URLRequest;
import flash.display.Loader;
该方法的好处在于,一个比较大的项目可以逐个加载,AS主体比较小,加载时可以并提示用户加载的过程,用户体验比较好。
第二种方法:
public class imgclass extends Sprite
{
[Embed(source="your.jpg/png")]
private var yourimg:Class;
public function imgclass ()
{
var image:Bitmap = new yourimg();
addChild(image);
}
}
4、资源读取路径要注意,如果用[Embed(source="xxx.jpg/png/swf")] var xxx:xxx;的话默认路径是从Src路径开始得,如果是用loader加载图片的话是从bin-debug开始读取的。
5、在 ActionScript 3.0 中,所有的参数均按引用传递,因为所有的值都存储为对象,但是,属于基元数据类型(包括 Boolean、Number、int、uint 和 String)的对象为传值操作。
6、在 ActionScript 3.0 中,不支持直接的函数重载,因为flash认为一个函数是一个对象,数组也是个对象,对象也是关联数组,不能以编码形式设置重载,如真需重载则可以使用可变参数的方式实现重载。
function demo(...args):void
{
if(args.length==1)
{
if (args[0] is String)
.......
}
}
7、通过Embed的方式加载图片时,当加载swf时,不能从Class转换成bitmap
var temp:bitmap=new Class;出错!!!!!
8、URLLoader与loader的区别,loader主要用于加载图片及SWF的文件,urlloader主要用于加载文本、XML及二进制文件。
其中Loader需要注意利用loader.contentloaderinfo来加载事件,加载png、jpg等图片时 loader.content类型为bitmapdata
加载swf时类型为moveclip