action script3.0殿堂之路.pdf 读书笔记

1.显示列表API:
spring
shape
movieClip
sprite
---------------
声明变量:
不常用的定义方式:
var h;//未指定类型,默认为untyped
var g:*;//跟上面是一样的效果

uint number int 的使用要注意,
可能计算出来的值不是你想像中的值,
比喻:
var float:Number =0;
for:10次-> float += 0.1;
得到的是0.999999999999;
-------------------------
判断String类型转换成数值类型时,判断String是否能够正确转换成数值
!(Number("string"))
----------typeof用法
trace(typeof 10);//输出:number
返回的是类型说明
----------is的用法
trace(9 is Number);//输出:true
----------in用法
var a:Array = ["q","w","e"];
trace(2 in a); //数组 a 含有索引 2,所以为 true
trace(3 in a); //只有个元素,没有索引为 3 的元素,所以为 false

var b:Object = {ary:a, name:"ok"};
trace ("ary" in b); //true,确实有 ary 为键的属性
----------deleted
2.5.13 delete:ActionScript3 中的作用变了
在 ActionScript2 中可以使用 delete 关键字删除对象任意一个的实例属性。
但在 ActionScript3 中,delete 关键字的作用已经大大减少,它只可以来用删除
对象的动态实例属性,非动态属性不能删除。
如果要将一个属性所持有的引用删除,将 null 赋值给该属性即可。
var b:Object = {ary:"one",name:"ok"};
deleted b; //会报错,不能这样删除了
deleted b.ary; //成功,因为 ary 是 b 对象的动态属性
trace (b.ary); //输出:undefined

b = null;
----------
function testA(...paras):void {
trace ("参数长度:" + paras.length);
for (var i in paras){
trace (paras[i]);
}
}
testA(1,[2,3],"String type");
/*输出:
参数长度:3
1
2,3
String type
*/
function testB(firstPara:String,...args):void {
trace (args.length);
for (var i in args){
trace (firstPara +":"+args[i]);
}
}
testB("B test", [100,200],1000, "Foo");
/*输出:
3
B test:100,200
B test:1000
B test:Foo
*/
-------------动态类---
dynamic class Bar {
public var web:String = “Kingda’s Blog”;
}
---------------------use namespace XXX
use namespace bad;
---------------------:: namespace的用法
::
在同一个类下面,有两个相同的名字的方法,可以这样调用
person.public::hi(); //输出:public:hi()
person.custom::hi(); //输出:custom:hi()

custom function hi():void {
trace ("custom:hi()");
}
private function hello():void {
trace ("private:hello()");
}
--------------命名空间 -------
示例 7-1 的代码中,有一个文档类 SamplePlayer 和一个包外类 Player。
Player 中使用命名空间 phone(电话)和 ball(球类)分别定义了两个 da()
方法。两个 da()在不同的命名空间下有不同的实现。在 SamplePlayer 中通过
use namespace ball 打开了 ball 命名空间。从而调用 foo.da()方法时就调用了
ball 命名空间下的 da()方法。在最后两行又演示了如何联合命名空间明确指定方
法。
通过示例 7-1 的代码,可以对命名空间的使用有一个大概的印象。暂时看不
明白没有关系,命名空间具体的定义和使用在后面还有详细的讲述。

package org.kingda.book.basicoop.namespaces{
import flash.display.Sprite;
public class SamplePlayer extends Sprite{
public function SamplePlayer() {
//use namespace ball;
var foo:Player = new Player();
//foo.da(); //输出:打():我要玩一下球
//下面两行明确指定使用哪一个命名空间中的方法
foo.phone::da(); //输出:打():我要拨个电话
foo.ball::da(); //输出:打():我要玩一下球
}
}
}
namespace phone;
namespace ball;

class Player {
phone function da() {
trace ("打():我要拨个电话");
}
ball function da() {
trace ("打():我要玩一下球");
}
}
-----------接口--------------
如何实现接口
一个类在定义时如果实现(implements)一个接口,其实是在做一个宣告:
它将拥有这个接口定义的所有方法,可以把它当成这种接口的数据类型来使用。
实现接口的语法和继承的语法相似,不过不再使用 extends 关键字,而是使
234
第 10 章 *抽象类和接口
用 implements 关键字。而且一个类可以实现多个接口,多个接口之间用“,”
号隔开。
implements 的使用格式如下。
public class 类名 implements 接口名{…} //单接口
public class 类名 implements 接口名 A,接口 B,接口 C{…} //多接口
--不支持多重继承,但可这样在单继承下,实现多个接口
//注意,A 除了继承 BaseA 外,实现了两个接口
class A extends BaseA implements IHasName,IClonable{

----------------------------
-----------顶级包-----------核心类
setInterval(function,number);

----------------------------string与stringBuilder------------
StringBuilder 类是什么?它对于很多中级爱好者而言,并不熟悉。但是在
Java、NET 中都有这个类的存在。字符串在频繁修改时,效率低下。通俗地说,
StringBuilder 是为了改进这种情况而加进的工具类。下面来详细解释产生这种状
况的情形、原因和解决方式。
其实as3.0 中字符串用+号连接速度是非常快的
-----------------------------

看书的,学到的知识点比较广,很多都没有用到,时间一久必定又忘记.所有要常敲代码.

时间: 2024-10-18 20:41:29

action script3.0殿堂之路.pdf 读书笔记的相关文章

Qt 学习之路 2 --- 读书笔记

一.文章来由 来自豆子老师非常好的一本Qt教程,但是只有网络版,所以用这个做笔记了,不动笔墨不读书嘛~~ 二.读书笔记 1.Qt 学习之路 2(2):Qt 简介 1.1 关于 Qt 的一站式解决 Qt 是一个著名的 C++ 应用程序框架.但并不只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个"一站式"的解决方案:不再需要研究 STL,不再需要 C++ 的,不再需要到处去找解析 XML.连接数据库.访问网络的各种第三方库,因为

C#高级编程(第九版)----C#5.0&.NET 4.5.1 读书笔记

1.消息队列是Windows 8操作系统的一部分.这个服务的主要功能如下: (1)消息可以在断开连接的环境下发送.不需要同时运行在发送和正在接受的应用程序. (2)使用快捷模式,消息可以非常快得发送.在快捷模式下,消息存储在内存中. (3)对于可恢复的机制 ,消息可以使用有保证的交付方式发送.可恢复的消息存储在文件中,在服务器重新启动时发送它们. (4)用访问控制列表来保护消息队列,可以确定哪些用户可以发送或接受列队中的消息.消息还可以加密,避免网络嗅探器读取其中的数据.消息在发送时可以指定优先

《Spring 3.0就这么简单》 读书笔记

第一章:快速入门 开发流程: 1.创建库表    依赖jar包配置 2.事务:事务是恢复和并发控制的基本单位. 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性/永久性(Durability) 3.散列算法:md5     散列算法:不可逆哦! 摘要是对信息主体的浓缩,摘要是一种单向函数,主要用于将无限的输入值转为有限的浓缩输出值,如MD5,则是将任意长度的字节系列转换为一个128位的摘要.MD5输出的128位的摘要通常会写      出32个

opencv2对读书笔记——反投影直方图以检测待定的图像内容

一些小概念 1.直方图是图像内容的一个重要特性. 2.如果一幅图像的区域中显示的是一种独特的纹理或是一个独特的物体,那么这个区域的直方图可以看作是一个概率函数,它给出的是某个像素属于该纹理或物体的概率. 3.反投影直方图的作用是在于替换一个输入图像中每一个像素值,使其变成归一化直方图中对应的概率值. 这是一个什么样的过程 名字听起来感觉很高端,其实这个一个很简单的过程. 1.首先我们截取一个区域,作为目标区域. 2.然后将目标区域取直方图,并将其直方图归一化,并得到这个区域的概率. 3.利用ca

opencv2对读书笔记——使用均值漂移算法查找物体

一些小概念 1.反投影直方图的结果是一个概率映射,体现了已知图像内容出如今图像中特定位置的概率. 2.概率映射能够找到最初的位置,从最初的位置開始而且迭代移动,便能够找到精确的位置,这就是均值漂移算法做的事情. 3.均值漂移算法是以迭代的方式锁定函数的局部最大值的. 关于均值漂移算法的过程(opencv) 事实上均值漂移算法就是寻找提前定义寻找区域中数据点的重心,或者说加权平均值.将寻找区域中心移动到数据点的重心处,并反复这个过程直到寻找区域重心收敛到一个稳定点. OpenCV中定义了两种终止条

opencv2对读书笔记——图像二值化——thresholded函数

opencv中的图像二值化函数threshold函数 其结构 double cv::threshold( //二值化函数 const CvArr* src, //原始图像 CvArr* dst, //输出图像 double threshold, //阈值 double max_value, //最大值 int threshold_type//阈值类型 ); 实例代码 #include "cv.h" #include "highgui.h" int main() {

深入理解JAVA虚拟机--读书笔记

如上图,判断线段AB和线段CD相交. 分析:如果线段AB和线段CD相交,只能是图中的两种相交情况.可以用向量叉乘来判断.如果(向量AB叉乘向量AC)*(向量AB叉乘向量AD)<= 0 并且(向量CD叉乘向量CA)*(向量CD叉乘向量CB)<= 0,那么说明线段AB与线段CD相交. 设A(X1,Y1), B(X2, Y2), C(X3, Y3), D(X4, Y4),三角形ABC的面积为:2A =  = X1*Y2 + X3*Y1 + X2*Y3 - X3*Y2 - X1*Y3 - X2*Y1.

POJ读书笔记2.1 —— 鸡兔笼带

http://blog.csdn.net/pipisorry/article/details/36433305 问题描写叙述 一个笼子里面关了鸡和兔子(鸡有2仅仅脚.兔子有4仅仅脚.没有例外). 已经知道了笼子里面脚的总数a.问笼子里面至少有多少仅仅动物,至多有多少仅仅动物. 输入 第1行是測试数据的组数n,后面跟着n行输入.每组測试数据占1行.每行一个正整数a (a < 32768) 输出 输出包括n行,每行相应一个输入,包括两个正整数.第一个是最少的动物数.第二个是最多的动物数,两个正整数用

Android5.0开发范例大全 读书笔记(六)

(六)与系统交互 6.1后台通知 1.关于后台通知,下面展示6种样式.值得一提的是,笔者的小米5只能显示基本样式,雷军真是良心厂商啊. 2.首先上布局xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="