ActionScript

合集下载

ActionScript菜鸟基础终极教程

ActionScript菜鸟基础终极教程

第1章揭开ActionScript的神秘面纱ActionScript是Flash内置的编程语言,用它为动画编程,可以实现各种动画特效、对影片的良好控制、强大的人机交互以及与网络服务器的交互功能。

ActionScript是一门吸收了C++、Java以及JavaScript等编程语言部分特点的新的语言。

ActionScrip使用英文单词和元件提供了一种为Flash影片设置指令的方法。

它的存在确保了Flash影片较之普通的按照线性模式播放的动画具备强大得多的人机交互能力。

可以为时间轴中的关键帧、按钮和影片剪辑添加ActionScript。

选中这些关键帧、按钮和影片剪辑,打开其动作面板,你就可以看到它们都添加了哪些脚本。

1.1 Flash中的程序交给计算机执行的指令集称为程序。

程序的另一个名称叫做脚本。

从现在开始,我们将这些指令集统称为脚本。

脚本都必须有它的运行环境,就ActionScript来说,它的运行环境就是Flash影片。

ActionScript 可以指挥Flash影片该做什么。

在某些情况下,ActionScript还可以指挥其他的东西,如用户的操作系统、浏览器等。

但是ActionScript最主要的用途还在于控制Flash影片内部的东西。

短的脚本可以只有一行,长的脚本可以长达几千行。

它们可以作用于Flash影片的一个部分,也可以贯穿影片始终。

有人把使用了脚本的整个Flash影片看作一个程序,也有人把影片中单独出现的脚本看作一个程序。

这两种看法都正确,因为一个单独的程序也可以被定义成若干小程序。

你可能对某些编程语言已经相当熟悉或者有所了解。

例如广大网页设计者所熟知的JavaScript,以及另一种相似的语言VBScript,它们能用来编辑动态网页。

HTML(Hypertext Markup Language 超文本置标语言)是另一种特殊的语言,浏览器将按照它所包括的指令正确地显示文本和图片。

在学校里面,你可能接触过一些编程方面的课程,如BASIC、Pascal、C、Java等。

ActionScript单词中文详细解释

ActionScript单词中文详细解释

1 内置命令(Actions)循环控制break 从循环/块中跳出continue 从头开始继续执行循环/块函数控制call 调用帧的程序function 定义函数return 返回数值注释/* 多行注释// 单行注释变量设置与删除delete 删除变量/对象set Variable设置变量var 声明变量重复程序处理do...while 满足条件的重复程序处理for 指定次数的重复程序处理for...in 对象属性的重复处理while 满足条件的重复程序处理影片剪辑duplicateMovieClip 复制影片剪辑loadMovie 加载影片到指定的目标loadMovieNum 加载影片到指定的层级removeMovieClip 删除影片剪辑setProperty 设置属性startDrag 拖曳影片剪辑stopDrag 停止拖曳影片剪辑tellTarget 对象标的与层级路径unloadMovie 删除加载的swf影片unloadMovieNum 删除加载的swf影片条件分支else 条件分支(否则)else if 多重条件判断(否则如果)if 条件判断(如果)数值分支case 赋值一个值或条件default 默认值switch 值的分支判断flash影片FSCommand flash播放器或外部程序的命令toggleHighQuality 图形反锯齿传值与URL指向getURL 加载外部的变量loadVariable 加载外部的变量loadVariableNum 加载外部的变量帧/场景控制gotoAndPlay 跳至指定的帧并播放gotoAndStop 跳至指定的帧并停止ifFrameLoaded 指定的帧是否已经载入内存nextFrame 跳至下一个帧并停止nextScene 跳至下一个场景并停止Play 开始播放prevFrame 跳至上一个帧并停止prevScene 跳至上一个场景并停止Stop 停止播放载入外部程序#include 从外部加载ActionScript对象制作#endinitclip 指示自定义UI component定义块的结束位置#initclip 指示自定义UI component 定义块的开始位置new 制作对象this 指定对象本身with 默认对象事件处理程序on(mouseEvent) 鼠标事件处理程序onClipEvent 影片事件处理程序输出Print 输出影片剪辑(向量)PrintAsBitmap 输出影片剪辑(位图)PrintAsBitmapNum 输出图层(位图)PrintNum 输出图层(向量)声音控制stopAllSounds 停止播放所有的声音设置时间clearInterval 解除计时器setInterval 设定计时器程序解析trace 程序解析2 运算符(Operators)算术运算符% 求余数(modulo)* 乘号(multiplication)/ 除号(division)- 减号/取负数(minus)+ 加号(addition)逻辑运算符! 反逻辑(logical NOT)&& 逻辑与(short-circuit AND)|| 逻辑和(OR)比较运算符!= 不等于(inequality)> 大于(greater than)>= 大于等于(greater than or equal to)< 小于(less than)<= 小于等于(less than or equal to)<> 不等于(inequality)== 等于(equality)=== 绝对相等(strict equality)按位运算符& 按位与(bitwise AND)<< 向左位移(bitwise left shift)>> 符号右移(bitwise right shift)>>> 填零右移(bitwise unsigned right shift)^ 按位异或(bitwise XOR)| 按位或(bitwise OR)~ 按位否(bitwise NOT)赋值运算符= 赋值(assignment)%= 赋值余数(modulo assignment)&= 赋值与(bitwise AND assignment)*= 赋值乘积(multiplication assignment)+= 赋值总和(addition assignment)-= 赋值差(negation assignment)/= 赋值商(division assignment)<<= 赋值向左位移(bitwise left shift assignment)>>= 赋值符号右移(bitwise right shift assignment)>>>= 赋值填零右移(bitwise unsigned right shift Assignment)^= 赋值按位异或(bitwise XOR assignment)|= 赋值按位或(bitwise OR assignment)其他-- 递减运算符(decrement)( ) 括号(parentheses)?: 条件判断(conditional)" " 字符串定义符号(string delimiters)++ 递增运算符(increment)instanceof 检查赋值的对象是否属于赋值的类typeof 数据类型void 不返回值3 内置函数(Functions)格式转换Array 数组函数 (function)Boolean 布尔函数(function)Number 数值函数(function)Object 对象函数 (function)String 字符串函数(function)数值函数parseFloat 转换字符串成为浮点数parseInt 转换字符串成为整数isFinite 验证指定数值是否为有限数isNaN 验证指定数值是否为数字对象属性与路径getProperty 取得MovieClip的指定属性值targetPath 取得指定MovieClip的完整路径编码escape URL-encoded编码unescape ASCII-encode 编码计时器getTimer 返回到movie 开始播放后所经过的时间取得播放器版本getVersion 返回flash播放程序的版本取值eval 取出指定变量的内容4 常数(Constants)常数false 假值newline 增加一行null 空值true 真值undefined 值未定义5 属性(Properties)透明度、分辨率_alpha 透明度_quality 图形输出的品质_visible 显示帧、对象路径_currentframe 当前所在的帧_droptarget 标的对象的路径名称_framesloaded 已载入的帧数_target 目标名称_totalframes 总帧数按键响应_focusrect 显示响应边框对象缩放、旋转_height 高度_rotation 旋转_width 宽度_xscale 左右缩放_yscale 上下缩放对象名称_name 名称声音_soundbuftime 声音缓冲时间网址路径_url 网址坐标值_x x坐标值_xmouse 鼠标光标的x坐标值_y y坐标值_ymouse 鼠标光标的y坐标值6 核心对象(Core Objects)核心对象_global 用以建立全局变量、对象或类super 调用 superclass 的构造函数或methodthis 引用对象或是movie clip instance自身参数arguments.callee 用来引用目前正被调用的函数名称arguments.caller 用来引用在函数中被调用的函数对象arguments.length 计算输入函数的参数数量7 数组对象(Array Objects)定义数组对象new Array 建立数组对象分割/合并数组元素Array.concat 合并数组Array.join 符号分隔数组内容Array.slice 取出数组内容Array.splice 增加或删除数组内容引用/设置数组元素Array.length 显示数组长度新增/删除数组元素Array.pop 取出数组的最末值Array.push 将数值加入数组的最末端移动数组元素Array.shift 将数组的第一个值删除Array.unshift 将指定的数值加入数组转换字符串Array.toString 将数组内容转换成字符串8 布尔对象(Boolean Objects)定义布尔对象new Boolean 建立布尔对象布尔对象Boolean.toString 将布尔对象的值转换成字符串Boolean.valueOf 将布尔对象的值返回9 时间对象(Date Objects)定义时间对象new Date 建立时间对象年月日星期Date.getDate 取得日期Date.getDay取得星期Date.getFullYear 取得完整年份Date.getMonth取得月份Date.getYear取得年份时分秒毫秒Date.getHours取得时数Date.getMilliseconds 取得毫秒数Date.getMinutes 取得分数Date.getSeconds取得秒数指定时间Date.getTime 取得毫秒数Date.UTC取得毫秒数时差Date.getTimezoneOffset 取得系统时间与格林威治时间的时差年月日星期(国际时间)Date.getUTCDate 取得格林威治时间制的日期Date.getUTCDay 取得格林威治时间制的星期Date.getUTCFullYear 取得格林威治时间制的年份Date.getUTCMonth 取得格林威治时间制的月份时分秒毫秒(国际时间)Date.getUTCHours 取得格林威治时间制的时数Date.getUTCMilliseconds 取得格林威治时间制的毫秒数Date.getUTCMinutes 取得格林威治时间制的分数Date.getUTCSeconds 获取格林威治时间制的秒数设置年月日星期Date.setDate 设置日期Date.setFullYear 设置年份Date.setMonth 设置月份Date.setTime 以毫秒数设置日期Date.setYear 设置年份设置时分秒毫秒Date.setHours 设置时数Date.setMilliseconds 设置毫秒数Date.setMinutes 设置分数Date.setSeconds 设置秒数设置年月日星期(国际时间)Date.setUTCDate 设置格林威治时间制的日期Date.setUTCFullYear 设置格林威治时间制的年份Date.setUTCMonth 设置格林威治时间制的月份设置时分秒毫秒(国际时间)Date.setUTCHours 设置格林威治时间制的时数Date.setUTCMilliseconds 设置格林威治时间制的毫秒数Date.setUTCMinutes 设置格林威治时间制的分钟数Date.setUTCSeconds 设置格林威治时间制的秒数时间转变成字符串Date.toString 将时间对象的时间值转成字符串10 函数对象(Function Objects)调用其他对象Function.apply 执行指定的函数Function.call 调用以函数对象表示的函数对象原型Function.prototype 指出作为构造类原型(prototype)的对象11 数学函数对象(Math Objects)定义数学函数对象Math 定义数学函数对象数值比较与取样Math.abs 取得绝对值Math.ceil 取得最大整数值Math.floor 取得最小整数值Math.max 取得比较最大值Math.min 取得比较最小值Math.random 取得随机数值Math.round 取得四舍五入值三角函数Math.acos 取得反余弦值Math.asin 取得反正弦值Math.atan 取得反正切值Math.atan2 取得反正切值求得坐标角度Math.cos 取得余弦值Math.sin 取得正弦值Math.tan 取得正切值自然对数Math.E 取得自然对数底数e值Math.LN10 取得10的对数值Math.LN2 取得2的对数值指数和对数Math.exp 取得e的乘方值Math.log 取得自然对数值Math.LOG10E 取得以10为底的e的自然对数值Math.LOG2E 取得以2为底的e的自然对数值圆周率Math.PI 取得圆周率的值连乘积与平方根Math.pow 取得连乘积的值Math.sqrt 返回平方根的值Math.SQRT1_2 返回根号2一半的值Math.SQRT2 返回根号2的值12 数值对象(Number Objects)定义数值对象new Number 定义数值对象数值范围Number.MAX_VALUE 返回最大可显示的数值Number.MIN_VALUE 返回最小可显示的数值Number.NaN 返回NaN(Not A Number)Number.NEGATIVE_INFINITY 显示NEGATIVE_INFINITY Number.POSITIVE_INFINITY 显示POSITIVE_INFINITY 转换字符串Number.toString 将数值转换成字符串输出数值的值Number.valueOf 将数值转换成初始状态13 对象对象(Object Objects)定义自定义对象new Object 定义自定义对象转成字符串Object.toString 将对象内容转换成字符串输出对象的值Object.valueOf 输出对象的初始内容对象监视Object.unwatch 删除Object.watch 所设置的监视点Object.watch 对对象的属性设置一个监视点对象类Object.registerClass 将指定的对象类与指定的影片剪辑名称建立连接设置属性Object.__proto__表示引用构造函数的prototype(原型)属性Object.addProperty 建立一个 getter/setter(获取/设置)的属性14 字符串对象(String Objects)定义字符串对象new String 定义字符串对象取出/结合字符串String.charAt 返回指定位置的字符String.concat 合并多个指定字符串String.slice 复制指定位置的字符串String.split 分割指定位置的字符串String.substr 返回指定长度的字符串String.substring 返回指定位置的字符串文字码/文字转换String.charCodeAt 返回指定位置字符的ASCII码String.fromCharCode 返回指定ASCII码的字符字符串搜索String.indexOf 搜索指定字符的位置stIndexOf 搜索指定字符的最后出现位置字符串长度String.length 返回字符串对象的长度大小写转换String.toLowerCase 将字符串内容转成小写字母String.toUpperCase 将字符串内容转成大写字母15 影片对象(Movie Objects)层级与路径_level 引用以主影片(root movie)时间轴为基准的值(level)_parent 往上一层_root 根目录影片作用对象Accessibility.isActive 显示当前屏幕阅读器(screen reader)程序的启用状态16 按钮对象(Button Objects)按钮作用Button.enabled 检查按钮是否为启用状态鼠标光标eHandCursor 设置是否使用手形鼠标指标Tab 按键Button.tabEnabled 设置是否启动自行定义键盘焦点切换的顺序Button.tabIndex 设置自行定义键盘焦点切换的顺序值按钮属性Button.trackAsMenu 设置按钮对象是否接收鼠标键放开的事件获取层级Button.getDepth 取得按钮对象的层级事件回应Button.onDragOut 检查鼠标按住按钮时是否滑出Button.onDragOver 检查鼠标按住按钮时是否滑出又滑回Button.onKillFocus 检查按钮是否不再为键盘焦点Button.onPress 检查鼠标按钮是否按下Button.onRelease 检查鼠标按钮是否放开Button.onReleaseOutside 检查鼠标按钮是否在按钮之外放开Button.onRollOut 检查鼠标光标是否滑出按钮之外Button.onRollOver 检查鼠标光标是否滑出按钮之上Button.onSetFocus 检查按钮对象是否被设为键盘焦点17 系统功能对象(System Capability Objects)传输System.capabilities.hasAccessibility检查播放装置是否符合访问标准影音编码System.capabilities.hasAudio 检查播放装置是否具音效播放功能System.capabilities.hasAudioEncoder检查播放装置拥有的音效编码器System.capabilities.hasMP3 检查播放装置是否拥有 MP3 解码器System.capabilities.hasVideoEncoder检查播放装置拥有的影像编码器屏幕显示System.capabilities.pixelAspectRatio检查播放装置屏幕的像素长宽比System.capabilities.screenColor 检查播放装置的屏幕发色方式System.capabilities.screenDPI 检查播放装置屏幕的dpi分辨率System.capabilities.screenResolution.x检查播放装置屏幕的水平分辨率System.capabilities.screenResolution.y检查播放装置屏幕的垂直分辨率语系/操作平台nguage 检查播放装置当前所使用的语言System.capabilities.os 检查播放装置的操作系统平台版本/制造商System.capabilities.manufacturer 检查播放装置的制造商名称System.capabilities.version 检查播放装置的版本18 色彩对象(Color Objects)定义色彩对象new Color 定义一色彩对象色彩对象Color.getRGB 取得颜色值Color.getTransform 取得颜色变化值Color.setRGB 指定颜色值Color.setTransform 指定颜色变化值19 键盘按键对象(Key Objects)定义按键对象KEY 定义按键对象按键Key.BACKSPACE 代表BACKSPACE的按键值9 Key.CAPSLOCK 代表CAPSLOCK的按键值20 Key.CONTROL 代表CONTROL的按键值17 Key.DELETEKEY 代表DELETEKEY的按键值46 Key.DOWN 代表DOWN的按键值40Key.END 代表END的按键值35Key.ENTER 代表ENTER的按键值13Key.ESCAPE 代表ESCAPE的按键值27 Key.HOME 代表HOME的按键值36Key.INSERT 代表INSERT的按键值45 Key.LEFT 代表LEFT的按键值37Key.PGDN 代表PAGEDOWN的按键值34 Key.PGUP 代表PAGEUP的按键值33Key.RIGHT 代表RIGHT的按键值39Key.SHIFT 代表SHIFT的按键值16Key.SPACE 代表SPACE的按键值32Key.TAB 代表TAB的按键值9Key.UP 代表UP的按键值38ASCII码获取Key.getAscii 取得最后被按下键的ASCII 值Key.getCode 取得最后被按下的键的按键值事件回应Key.addListener 设置当键盘发生敲击时的对应函数Key.isDown 检查有无指定的按键被按下Key.isToggled 检查大小写锁定键或数字锁定键有无被按下Key.onKeyDown 响应按下按键时的事件Key.onKeyUp 响应放开按键时的事件Key.remove3Listener 删除设置用来倾听键盘敲击状态的函数20 鼠标对象(Mouse Objects)定义鼠标光标对象Mouse 建立鼠标光标对象显示或隐藏Mouse.hide 隐藏鼠标光标Mouse.show 显示鼠标光标事件回应Mouse.addListener 设置当鼠标按键时的对应函数Mouse.onMouseDown 响应鼠标按下按键时的事件Mouse.onMouseMove 响应鼠标移动时的事件Mouse.onMouseUp 响应鼠标放开按键时的事件Mouse.removeListener 删除设置为用来倾听键盘敲击状态的函数21 影片剪辑对象(MovieClip Objects)新增/复制/删除MovieClip.createEmptyMovieClip建立空白影片剪辑对象MovieClip.createTextField 建立空文本框对象MovieClip.duplicateMovieClip复制MovieClipMovieClip.removeMovieClip将指定的MovieClip 删除载入/删除MovieClip.attachMovie 加载指定MovieClipMovieClip.loadMovie 由外部载入MovieMovieClip.loadVariables 由外部载入变量MovieClip.unloadMovie 将指定的MovieClip 删除坐标/深度转换MovieClip.getBounds 取得对象的相对X坐标及Y坐标MovieClip.getDepth 返回指定影片剪辑对象的深度MovieClip.swapDepths 改变MovieClip的深度对象等级MovieClip.globalToLocal 转换标的对象的坐标系为local坐标系MovieClip.localToGlobal 转换标的对象的坐标系为global坐标系影片大小MovieClip.getBytesLoaded 返回已读取的字节数MovieClip.getBytesTotal 返回总共的字节数链接MovieClip.getURL 由指定的URL地址加载文件播放控制MovieClip.gotoAndPlay 跳到指定的frame上播放MovieClip.gotoAndStop 跳到指定的frame上并停止MovieClip.nextFrame 要求MovieClip跳到下一frame上MovieClip.play 要求MovieClip播放MovieClip.prevFrame 要求MovieClip跳到上一frame上MovieClip.stop 要求MovieClip停止播放影片互动MovieClip.hitTest 检查MovieClip是否有与其他对象碰触MovieClip.startDrag 拖曳指定MovieClip对象MovieClip.stopDrag 停止拖曳指定MovieClip对象遮罩MovieClip.setMask 为影片剪辑对象指定遮罩对象绘图MovieClip.beginFill 指定绘制填充对象时的颜色属性MovieClip.beginGradientFill 指定绘制填充对象时的渐变颜色属性MovieClip.clear 清除所有影片剪辑对象内的绘制对象MovieClip.curveTo 绘制曲线MovieClip.endFill 结束填充对象绘制MovieClip.lineStyle 设置线段绘制样式MovieClip.lineTo 绘制直线MovieClip.moveTo 设置绘制起始坐标值影片剪辑作用MovieClip.enabled 返回与设置指定的按钮、影片短片对象状态MovieClip.focusEnabled 检查指定影片剪辑对象是否可设置键盘焦点MovieClip.hitArea 指定影片剪辑对象做为按钮对象的碰触检查区Tab按键MovieClip.tabChildren 设置影片剪辑对象的子对象是否纳入键盘焦点切换的功能内MovieClip.tabEnabled 设置是否启动自定义键盘焦点切换的顺序MovieClip.tabIndex 设置自定义键盘焦点切换的顺序值影片剪辑属性MovieClip.trackAsMenu 设置影片剪辑对象是否接收鼠标键放开的事件鼠标指针eHandCursor 设置是否使用手形鼠标指针事件回应MovieClip.onData 检查影片剪辑对象是否接收数据MovieClip.onDragOut 检查鼠标按住按钮时是否滑出MovieClip.onDragOver 检查鼠标按住按钮时是否滑出又滑回MovieClip.onEnterFrame 检查影片剪辑对象是否正在播放MovieClip.onKeyDown 检查影片剪辑对象是否为键盘焦点且被按下按键MovieClip.onKeyUp 检查影片剪辑对象按键是否被放开MovieClip.onKillFocus 检查影片剪辑对象是否不再为键盘焦点MovieClip.onLoad 检查影片剪辑对象是否被赋值代名且出现在时间轴上MovieClip.onMouseDown 响应鼠标按下按键时的事件MovieClip.onMouseMove 响应鼠标移动时的事件MovieClip.onMouseUp 响应鼠标放开按键时的事件MovieClip.onPress 检查鼠标按钮是否按下MovieClip.onRelease 检查鼠标按钮是否放开MovieClip.onReleaseOutside 检查鼠标按钮是否在影片剪辑对象之外放开MovieClip.onRollOut 检查鼠标光标是否滑出影片剪辑对象之外MovieClip.onRollOver 检查鼠标光标是否滑出影片剪辑对象之上MovieClip.onSetFocus 检查影片剪辑对象是否被设为键盘焦点MovieClip.onUnload 检查影片剪辑对象是否已在时间轴上被删除22 选择对象(Selection Objects)选择对象Selection.getBeginIndex 返回起始的选择项索引值Selection.getCaretIndex 返回闪烁光标位置的索引值Selection.get end Index 返回当前所在选项的最后索引值Selection.getFocus 返回当前文本框所在位置的名称Selection.setFocus 指定当前文本框所在的位置Selection.setSelection 设置当前选择文本框的范围事件回应Selection.addListener 设置当键盘焦点改变时的对应函数Selection.onSetFocus 检查按钮对象是否被设为键盘焦点Selection.removeListener 删除用来听键盘焦点改变的函数23 声音对象(Sound Objects)定义声音对象new Sound 定义声音对象载入声音Sound.attachSound载入指定的声音Sound.loadSound 加载MP3 音效文件至声音对象的instance中音量大小Sound.getVolume 返回对象声音大小Sound.setVolume 设置对象声音大小左右声道Sound.getPan 返回声音对象左右声道的位置Sound.getTransform 返回声音对象变化值Sound.setPan 设置声音对象左右声道的位置Sound.setTransform 设置声音对象变化值播放控制Sound.start 开始声音对象播放Sound.stop 停止声音对象播放文件大小Sound.getBytesLoaded 返回己经下载的声音文件大小Sound.getBytesTotal 返回要下载的声音文件总容量大小播放时间Sound.duration 返回音效文件的播放时间长度Sound.position 返回当前声音文件正在播放的位置事件回应Sound.onLoad 当声音对象被加载时将调用的函数Sound.onSoundComplete 当声音对象被播放完成时将调用的函数24 场景舞台对象(Stage Objects)舞台大小Stage.height 返回当前场景舞台的画面高度值Stage.scaleMode 指定当前场景舞台的缩放模式Stage.width 返回当前场景舞台的画面宽度值目录显示Stage.showMenu 切换Flash Player的鼠标右键的选项对齐方式Stage.align 切换Flash movie 与场景舞台的对齐方式事件回应Stage.addListener 设置当Flash movie缩放后的对应函数Stage.onResize 检查场景舞台是否缩放大小Stage.removeListener 删除用来听Flash movie 缩放状态的函数25 文本框对象(TextField Objects)文本框字体TextField.embedFonts 设置文本框对象字体输出方式TextField.getFontList取得Flash Player所在电脑上的字体列表TextField.getNewTextFormat 取得在文本框对象内新嵌入文字的格式TextField.getTextFormat 取得在文本框对象内指定文字范围的文本格式TextField.htmlText 取得或设置文本框对象内含有HTML 标签的文字内容TextField.setNewTextFormat 设置在文本框对象内新嵌入文字的格式TextField.setTextFormat 设置在文本框对象内指定文字范围的文字格式取得层级TextField.getDepth 取得文本框对象的层级删除文本框TextField.removeTextField 删除自身文本框对象文本框文字TextField.length 返回文本框对象内所含的字符数TextField.maxChars 指定文本框对象可输入的最大字符数TextField.multiline 切换文本框对象的多行显示TextField.password 切换文本框对象的密码输入模式TextField.replaceSel 置换文本框对象内已选择的文字范围TextField.restrict 限制文本框对象内可输入的字符种类及范围TextField.text 指定或返回文本框对象内的文字内容TextField.textHeight 指定或返回文本框对象内文字的高度TextField.textWidth 指定或返回文本框对象内文字的宽度TextField.wordWrap 切换文本框对象内的文字自动换行功能文本框颜色TextField.background 切换文本框对象的背景色功能TextField.backgroundColor 赋值文本框对象的背景色TextField.border 切换文本框对象的外框色功能TextField.borderColor 赋值文本框对象外框的颜色TextField.textColor 赋值或返回文本框对象内文字的颜色文本框大小TextField.autoSize 赋值文本框对象的大小及对齐方式文本滚动TextField.bottomScroll 返回滚动窗口当前可视范围中最底行的序号TextField.hscroll 设置或返回当前滚动窗口的水平位置TextField.maxhscroll 返回当前滚动窗口的最大列数TextField.maxscroll 返回当前滚动窗口的最大行数TextField.scroll 设置或返回当前滚动窗口的垂直位置事件响应TextField.addListener 设置当文本框对象发生事件时的对应函数TextField.onChanged 检查文本框对象的文字是否被改变TextField.onKillFocus 检查文本框对象是否不再为键盘焦点TextField.onScroller 检查滚动窗口的 property是否被改变TextField.onSetFocus 检查文本框对象是否被设为键盘焦点TextField.removeListener 删除当事件发生时被设置的对应函数文本框类型TextField.html 赋值或返回文本框对象是否为 HTML 文本框TextField.selectable 赋值或返回文本框对象是否可被反白选取TextField.type 赋值或返回文本框对象的类型变量名称TextField.variable 赋值或返回文本框对象上被赋值的变量名称Tab 按键TextField.tabEnabled 设置是否启动自定义键盘焦点切换顺序TextField.tabIndex 设置自定义键盘焦点切换的顺序值26 文本格式对象(TextFormat Objects)定义文本格式对象new TextFormat 定义文本格式对象字符串大小TextFormat.getTextExtent 返回赋值字符串的长宽值对齐方式TextFormat.align 赋值文本段落的对齐方式字体样式TextFormat.bold 切换文本内容为粗体显示TextFormat.italic 切换文本内容为斜体显示TextFormat.underline 切换文本内容是否加上下划线缩排方式TextFormat.blockIndent 赋值文本块内缩的宽度TextFormat.indent 赋值文字段落首行的内缩字符数TextFormat.leftMargin 赋值文本段落左边界的宽度值TextFormat.rightMargin 赋值文本段落右边界的宽度值设置字体TextFormat.font 赋值此文本格式的字体字号/颜色TextFormat.color 赋值此文本格式的文本颜色TextFormat.size 赋值此文本格式的文本字号项目符号TextFormat.bullet 赋值文字段落前加上提示黑点行距/间距TextFormat.leading 赋值文本格式对象的文本行距TextFormat.tabStops 赋值文本格式对象的文本间距超链接TextFormat.target 赋值点击超链接后的打开窗口名称TextFormat.url 为文本框对象内的文本内容加上超链接地址27 传值对象(LoadVars Objects)定义传值对象new LoadVars 定义传值对象数据传送LoadVars.load 由指定的URL地址下载数据LoadVars.loaded 显示目前的传输状况LoadVars.send送出文件LoadVars.sendAndLoad送出数据并且接受服务的响应文件类型LoadVars.contentType 设置 HTTP标头信息里的文件格式数据解析LoadVars.toString 返回传值对象内的所有变量文件大小LoadVars.getBytesLoaded 返回已下载的字节数LoadVars.getBytesTotal 返回要下载的总字节数事件响应LoadVars.onLoad 检查 load 或sendAndLoad method 的操作是否结束28 编写对象(Authoring Objects)自定义指令CustomActions.get 读取指定名称的自定义指令XML 定义内容CustomActions.install 新建自定义指令CustomActions.list 返回当前所有自定义指令的清单CustomActions.uninstall 删除自定义指令即时预览CustomActions.onUpdate 更新当前程序执行的结果29 单选按钮对象(FRadioButton Objects)文本内容FRadioButton.getLabel 返回单选按钮对象的Label 标签值FRadioButton.setLabel 指定单选按钮对象的Label标签文本内容FRadioButton.setLabelPlacement 指定单选按钮对象的Label 标签文本的出现位置启用状态FRadioButton.getEnabled 检查单选按钮对象是否处于启用状态FRadioButton.getState 返回单选按钮对象的选取状态FRadioButton.setEnabled 指定单选按钮对象的启用状态FRadioButton.setState 指定单选按钮对象的选取状态宽度尺寸FRadioButton.setSize 动态赋值单选按钮对象的宽度值样式设置FRadioButton.registerSkinElement 为单选按钮对象的 Skin注册新元素名称FRadioButton.setStyleProperty 赋值单选按钮对象的外观属性值选取作用FRadioButton.setChangeHandler 检查按钮对象选项的选取变化状态按钮的值FRadioButton.getData 返回指定单选按钮的Data字段值FRadioButton.getValue 返回选取选项的Data字段值FRadioButton.setData 赋值单选按钮对象的Data字段值FRadioButton.setValue 切换至指定的单选按钮对象群组名称FRadioButton.getGroupName 返回单选按钮对象所属的群组名称FRadioButton.setGroupName 设置单选按钮对象所属的群组名称以下内容收录在随书配盘中30 扩展标记语言对象(XML Objects)定义XML对象new XML 定义XML对象增减节点/元素XML.appendChild 附加子节点(Child Node)XML.cloneNode 复制指定的XML对象节点(node)XML.createElement 建立元素(Element)XML.createTextNode 建立文本节点(TextNode)XML.insertBefore 在指定的位置插入新的子节点XML.removeNode 删除节点节点属性XML.attributes 返回指定的XML对象内的属性(attributes)父/子节点XML.childNodes 返回指定的XML对象内的子节点XML.hasChildNodes 验证指定的 XML对象是否有子节点(Child Nodes)XML.parentNode 返回指定的XML对象内的父节点声明XML.docTypeDecl 设置及返回XML文件的文件类型声明(DOCTYPE declaration)XML.xmlDecl 设置及输出XML文件的XML声明节点的子元件XML.firstChild 返回XML对象的父节点(Parent node)的子元件列(children list)的第一个子元件内容stChild 返回XML对象的父节点(Parent node)的子元件列(children list)的最后一个子元件内容XML.nextSibling 验证XML对象在父节点的子元件列中是否有下一个节点XML.previousSibling 验证XML对象在父节点的子元件列中是否有上一个节点传送XML文件XML.load 加载指定的XML文件XML.loaded 检查XML文件是否加载完成XML.send 传送XML对象的值至指定的地址XML.sendAndLoad 传送XML对象的值至指定的地址并接收返回值节点名称/内容/类型XML.nodeName 返回节点名称(Node Name)XML.nodeType 取得返回节点类型XML.nodeValue 返回节点内容值(Node Value)数据解析XML.ignoreWhite 指定是否忽略仅含有空格符的文本节点XML.parseXML 解析(Parse)指定的XML字符串XML.status 显示解析XML文件的结果XML.toString 输出XML对象内完整的结构文件大小XML.getBytesLoaded 返回己经下载的XML文件大小XML.getBytesTotal 返回要下载的XML文件总容量大小事件响应XML.onData 指定处理从服务器下载的XML数据的函数XML.onLoad 检查指定的XML文件是否加载完成数据类型XML.contentType 设置 HTTP 标头信息里的文件格式31 扩展标记语言Socket对象(XML Socket)定义XML Socket对象new Socket 定义XMLSocket对象连线/中断XMLSocket.close 关闭连线XMLSocket.connect 建立连线信息传递XMLSocket.onClose 指定关闭连接后所要响应的函数XMLSocket.onConnect 指定建立连接后所要响应的函数XMLSocket.onData 指定从服务器下载XML信息后所要调用的函数XMLSocket.onXML 指定接收XML文件后所要用来解析的函数XMLSocket.send 发送出指定的XML对象内容。

flash第1讲ActionScript基础

flash第1讲ActionScript基础

1.5.2 了解内置对象
1. 实例化对象 如果要创建动作脚本类的实例时,可使用new 运算符调用该类的构造函数。构造函数与类始终 具有相同的名称,并返回该类的实例,而用户通 常会将该实例分配给一个变量,例如: var song:Sound=new Sound(); 上述代码表示创建了一个新的Sound对象。
1.5.1 面向对象编程中的几个基本概念
“对象” 是指属性和方法的集合,每个对象都具有 其各自的名称,并且都是特定类的实例。相比较而言, 对象是一个形象具体的概念,如生活中所使用的笔、纸 张、书籍、计算机等,都可称之为对象。而对于每个对 象来说,它们都具有一些区别于其他对象的个体属性, 如大小、形状、颜色、使用方法等。Flash中使用的内置 对象都是在动作脚本语言中预先定义的。

1.5.2 了解内置对象
几种顶级类: (1)Key:Key类是不通过构造函数即可使用其方法和属性 的顶级类。使用Key类的方法可生成用户能够通过标准键盘控 制的界面,该类的属性是常量,表示控制游戏时最经常使用的 键。 (2)Mouse:使用Mouse类的方法可隐藏和显示SWF文件 中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是 用户可以将其隐藏并实现用影片剪辑创建的自定义指针。 (3)Math:使用Math类的方法和属性可以访问和处理数学 常数和函数。

1.5.2 了解内置对象
2. 需要绑定的类 在动作脚本中,还有一些对象类需要绑定到 【库】面板中的某个对象上,如MovieClip、 Sound等。

No Image
1.5.2 了解内置对象
3. 顶级对象类 有些内置动作脚本类,类成员(属性和方法)通 过类名本身来访问或调用的,而不是通过类的实 例,也就是说,不用创建类的实例即直接使用这 些属性和方法。

AS 3.0代码简介

AS 3.0代码简介
addChild(xGougou);
}
测试上面两段代码,你可以看到,第一个对象Gougou在上面,坐标是(275,100),下面的Gougous生成了10个副本,横坐标从50到500依次展开,纵坐标是300,缩放率为50%.
复制代码
for(var i=0;i<3;i++){for(var j=0;j<3;j++){for(var k=0;k<3;k++){
复制代码
for(var i=0;i<10;i++){
var xGougou:Gougou=new Gougou();
xGougou.x=50*i+50;
xGougou.y=300;
xGougou.z=150*i+50;
xGougou.scaleX=.5;
xGougou.scaleY=.5;
一个布尔值,指示影片剪辑是否处于活动状态。 MovieClip
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 DisplayObject
focusRect : Object
指定此对象是否显示焦点矩形。 InteractiveObject
framesLoaded : int
指定此对象是否接收 doubleClick 事件。 InteractiveObject
dropTarget : DisplayObject
[只读 (read-only)] 指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 Sprite
enabled : Boolean

大学_ActionScript3.0实用教程

大学_ActionScript3.0实用教程

ActionScript3.0实用教程ActionScript3.0实用教程:使用显示对象在as中,通信是完全由事件驱动的。

as3.0的事件模型允许完全封装类对象。

封装的意思是类对象仅处理他们自己的内部,与其他类对象的功能没有联系。

他们做自己的工作并且保持低调。

对象需要与外部世界通信时,他们就分发事件。

注册在对象上的监听器等待分发的事件,并作出相应的动作。

在许多情况下都会触发事件,这取决于类本身。

通过标准的as API处理他们。

7.1 as3.0 事件模型as3.0事件模型使对象之间的通信简单、一致。

7.1.1 事件过程细节处理事件的3个过程如下事件监听器声明声明注册函数来监听事件事件分发当事件在类中发生时,它就会被这个对象分发出去。

事件对象被事件传递。

事件对象包含事件的相关信息。

事件监听器或处理器事件监听器或处理器是拥有一系列代码的函数,响应函数可以“听到”的事件。

事件监听器和事件处理器是相同的意思——是一个监听事件也是处理事件的函数。

7.1.2 事件分发所有的类都用从EventDispatcher类继承的dispatchEvent()方法分发事件,或者实现IEventDispatcher接口。

当类中的某件事情发生并且想要分发到应用程序的其他部分让他们知道这件事情发生了时,就调用dispatchEvent()方法。

事件相关的信息和其他需要的参数通过时间对象发送给监听器。

事件的分发者是事件过程的开始。

Event类是所有事件对象的基类。

当一个事件被EventDispatcher的方法触发(例如addEventListener),事件对象都被作为参数传递到监听器函数中。

事件对象包含被分发事件的相关数据。

Event类有标准的属性,方法和被大多数类使用的常量。

Event类的属性bubbles 布尔值,指示事件是否为冒泡事件cancelable 指示是否可以阻止与事件相关联的行为currentTarget 当前正在使用某个事件监听器处理事件对象的对象phase 事件流中的当前阶段target 事件目标type 分发事件类型7.1.3 注册事件监听器事件监听器向对象注册来监听对象分发的事件。

ActionScript编程键盘事件

ActionScript编程键盘事件

ActionScript编程键盘事件
ActionScript编程键盘事件
作用:
当按下或释放键盘中的键时发生的事件。

说明:
键盘事件都是由KeyboardEvent类来管理,其只有keyDown和keyUp两个事件,分别表示按下键和释放键。

这两个事件的事件名是由KeyboardEvent类的类属性KEY_DOWN 和KEY_UP来表示。

KeyboardEvent类同时定义了一些属性和方法来辅助键盘事件的处理,其属性如表7-4所示。

表7-4 KeyboardEvetn类的属性
其中,keyCode属性是最常用的,它用于判断哪个键被按下或释放。

例如,keyDown 事件只是判断键是否按下,如果要判断是哪个键被按下,就需要使用keyCode属性。

当某个键按下时,如果按键的keyCode属性等于键控代码,则说明这个键被按下,对于keyUp 事件的处理也是一样。

KeyboardEvent类的方法说明如表7-5所示。

从理论上讲,stage可以处理keyDown和keyUp事件,影片剪辑实例等其它交互显示实例也都可以处理这两个事件,但有一点区别,其它显示实例必须设置焦点才能处理这两个事件。

例如:
this.addEventListener(KeyboardEvent.KEY_DOWN,keyDown);
当测试影片时,可能发现检测不到按键事件,这是因为焦点不在this或root上。

如果要让this或root也能处理按键事件,需要设置焦点:
stage.focus = this;。

actionscript语法结构

actionscript语法结构

–基本结构:
onClipEvent(事件) { 响应事件而执行的语句块 }
• 在AS3.0中脚本必须写在帧上
–基本结构:
eventSource.addEventListener(EventType.EVENT_NAME, eventResponse ) function eventResponse(eventObject:EventType):void { 响应事件而执行的语句块 }
{ Stop(); }
• AS中变量的命名规则
变量
–只能由字母(a,b,c...),数字(1,2,3...),美元符号
($)和下划线(_)组成,并且第一个符号不能为 数字,符号之间不能有空格
–以下是合法的
_boy
• 2boy 首个符号不能为数字 • boy# 那个同学,好像只有美元符号$才可以用,其他的符号 都不能用耶 • boy 2 不能有空格
注意:actionscript中区分大小写!
• 例:
play_btn.addEventListener(MouseEvent.CLICK,btn1) function btn1(event:MouseEvent):void
{ play(); }
stop_btn.addEventListener(MouseEvent.CLICK,btn2) function btn2(event:MouseEvent):void
ActionScript语法结构
• 基本事件处理
–事件源(eventSourec):发生该事件的对象。 –事件(Event):将要发生什么事情,或希望响应的事 情 –响应(Response):当事件发生时,所执行的动作
Actionscript版本

as的用法整理

as的用法整理

as的用法整理一、引言AS(ActionScript)是一种基于Adobe Flash的脚本语言,用于开发互动式的富媒体应用程序和游戏。

它具有强大的功能和灵活性,因此在网页设计和开发领域中广泛应用。

本文将整理AS的用法,以帮助初学者更好地掌握这一技术。

二、基础知识1. AS是面向对象的语言:AS支持面向对象编程范例,拥有类、继承、多态等特性,这使得代码可以模块化,并且容易维护和扩展。

2. AS与Flash之间的关系:AS作为Flash平台上的脚本语言,可以直接与Flash文件进行交互。

通过AS,开发人员可以创建动态和交互性更强的Flash内容。

3. AS与HTML/CSS的关联:尽管AS主要用于制作交互式Flash应用程序,但它也可以嵌入到HTML文件中实现与网页元素(如按钮、表单等)的交互。

三、常见用法1. 动画效果:使用AS可以创建各种动画效果,例如渐变过渡、缓动效果等。

通过控制时间轴上对象属性的变化以及设置适当的事件处理函数,你可以实现令人惊叹的动画效果。

2. 事件处理:AS允许你为Flash对象绑定各种事件,并在事件触发时执行相应的代码。

例如,你可以通过在按钮上添加鼠标点击事件,实现用户点击按钮后执行特定操作的功能。

3. 数据验证和表单处理:对于具有表单或用户输入的应用程序,AS提供了丰富的验证和处理工具。

你可以使用正则表达式、条件语句等方式来验证用户输入数据的有效性,并根据不同情况采取相应措施。

4. 多媒体处理:AS支持多种多媒体文件格式(如图片、音频、视频),可以灵活地加载和播放这些文件。

你可以使用AS创建自定义音频播放器、视频播放器等功能。

5. 网络通信:与服务器进行数据通信是许多网络应用程序的关键功能。

AS提供了一系列客户端网络协议,如HTTP、SOCKS等,使得开发者能够构建与服务器的数据交互功能。

四、进阶技巧1. 优化代码性能:编写高效率和低内存消耗的代码是开发者需要追求的目标之一。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ActionScript1.声明变量均以var开始,:[类型]可指定变量类型。

var [变量名]:[变量类型]; var food:String;2.AS中也存在类似于C++中的const,不过定义方式和var相同,const[常量名]:[常量类型]=[常量值]; const BOILING_POINT:int = 212; 但是,常量语句只能与其他属性一起在类的开始处定义或者在类的构造函数中定义。

3.AS 中存在一种通配符数据类型(*),*表示数据的类型只有在运行时才知道(动态确定),或者可以保存多种类型的数据。

var variable:* = “any”;4.AS 中运算符和C语言大致相同,也包括自增自减运算符(i++,--i),复合赋值运算符等(x+=2)。

虽然AS引入了类似Java的布尔值,即1>0的值为true,但是,if 语句中不似Java只能为boolean 类型,反而类似于C语言,0 与非0 分别表示false 与true . 即是说,if(1){}也是合法的,这点和C语言相同。

5.AS 中逻辑运算符,位运算符等均与C类似,同时存在类似于Java的空(null)值和undefine值,这些值转换为bool类型时会被转换为false. AS中循环条件语句(if…else switch while do…while for)均与C语言相同, 但是AS中存在for…in 结构和for each…in.for ( var propertyName:String in targetObject){//do some action} //遍历属性名或者索引号(String类型)for each( var element:Object in targetObject){//do some action} //遍历属性或者元素6.AS中函数定义的格式为:Function doSomething(arg1:TypeA, arg2:TypeB): ReturnType{// the executed code goes here}7.AS中函数对基本数据类型(String Number int uint Boolean)使用值传递,对复杂数据类型(any types else)使用引用传递。

8.AS中也有默认参数,和C++ 相同,默认参数也只能放在最后。

同时,AS中也有可变参数,用关键字...表示,称为使用其余的参数。

function storeAddress(name:String, email:String, zip:String=null); // 默认参数function sum(… numbers):Number{} //可变参数9.与C++和Java相同,AS中构造函数也不能有任何返回类型。

AS中也存在void类型。

10.AS中存在一种特殊的函数——匿名函数,匿名函数没有函数名,赋给一个选定的Function类型的变量上:var doSomething:Function = function ( arg:Object):void{//function code goes here}匿名函数和声明函数的区别为:使用匿名函数的情况:只需要使用一次的函数只在另外一个函数内有用的函数需要在运行时改变一个方法的功能传递函数使用函数式编程模式,例如Array.map()。

11.AS中几乎任何事物都是对象,函数都是Function的一个实例。

可以new Function();由于函数使用广泛,所以添加一种定义函数的快捷方式,即function. 函数作为参数时,省略括号,只用函数名,因为假如加上括号,程序会执行这个函数,把返回值作为参数,导致错误。

12.类似于Java,AS也存在package 与逆向域名命名,但是不同之处在于,Java一般一个文件最开始位置决定该文件所属包,package com.liao.example; 而AS采用大括号,将代码包含在包中。

package com.liao.example{ //code }13.AS中继承与Java中类似,使用关键字extends。

继承一个类只会继承他的默认属性,而不会继承对象,就是说父类对象属性值的改变并不会被子类继承。

AS中可以像Java一样用final控制类不能被继承。

14.AS中存在和Java中类似的访问控制属性:public private protected internal(包访问权限)。

但是AS中可以使用名称空间来自定义访问权限,关键字为namespace。

这儿和C++有些类似(use namespace nsp;)。

默认为包访问权限(internal)。

15.AS中,对于类中属性的访问,采用访问器的方法(setter getter),访问器分为显式访问器和隐式访问器。

显式访问器不是特殊的语法结构,而是一个函数,例如:public class BuildingExplicit{//the height of the building in feetprivate var _height:Number = 0;public function setHeight(newHeight:Number):void{_height = newHeight; //假设newHeight数据合法}public function getHeight():Number{return _height;}}//其中setHeight() getHeight() 方法为显式访问器注意:使用私有属性的时候,私有属性标识符一般以下划线开始(_height)。

隐式访问器则有特殊的结构(set get),好处在于可以以点表示法来表示属性:public class BuildingExplicit{//the height of the building in feetprivate var _height:Number = 0;public function set height(newHeight:Number):void{_height = newHeight; //假设newHeight数据合法}public function get height():Number{return _height;}}//其中[set] height() [get] height() 方法为隐式访问器采用这种方式,可以var b:BuildingExplicit = new BuildingExplicit();b.height = 10; //set height(); 也可以不写set使height只读var xx:Number = b.height; //get height();16.AS中也有和C++与Java中意义相同的this,在类中可以使用this来指代本类。

17.除了对象中的实例变量外,AS也有存在于类中的静态变量,用static修饰,该变量为该类的所有对象所共有。

同样,类中也有静态常量,static const 修饰,该常量为所有该类对象所共有。

[类名].[变量名]引用。

18.AS中没有枚举类型,但是很容易实现。

如下:public final class Trick{public static const WHEELIE:Trick = new Trick();public static const BUNNYHOP:Trick = new Trick();public static const STOPPIE:Trick = new Trick();}注意:final决定该类不能继承。

该类中的静态常量均为该类的对象(Trick类型)。

19.不仅存在静态变量,也存在静态方法,静态方法不能用实例变量,甚至在类构建之前就可以运行,所以可以用静态方法来构造类的对象。

(static function)。

静态方法可以用于创建实用工具类(如Math,可以用Math的静态方法Math.pow(2,10);而不需要创建Math 对象)。

很显然,静态方法不能调用非静态方法。

20.不同于Java,override在AS中是一个关键字,可以用在子类中用于覆写父类方法,需要时加载访问控制符之前或者之后。

只能覆写类的方法而不能覆写其属性。

但是可以通过覆写访问器来改善这个问题。

21.不同于C++和Java,AS中不允许重载方法,也就是说,覆写方法时,重写的方法必须和原来的方法具有相同的签名。

22.与Java相同,AS中也可以用super对象来调用父类的非私有方法或属性,也可以用super()方法来调用父类的构造方法。

23.与Java相同,AS也存在接口。

接口不是类,不能被实例化,也不包含代码,接口是一种约定。

在AS中,使用I作为接口的前缀。

public interface IPoweable{function turnOn(volts:Number):void;function turnoff():void;function getPowerUse():Number;}24.同样,AS中实现接口的关键字与Java相同(implements)。

类可以继承一个类后实现某些接口,extends关键字必须在implements之前。

类可以实现多个接口。

25.可以把接口类型作为参数,只要实参实现了该接口,并且在函数中只使用该接口功能,程序就可以正确执行,这是按照功能而非类进行编程的思想。

26.AS中可以用is运算符来判断对象与类是否兼容。

27.AS中可以创建动态类。

public dynamic class ShapeShfter;。

相关文档
最新文档