类版本ActionScript简介
PS:今天上午,非常郁闷,有很多简略基本的问题搞得我有些迷茫,哎,代码几天不写就忘。前目又不当COO,还是得用心记代码哦!
ActionScript
是 Macromedia(现已被Adobe购收)为其Flash品产开辟的 ,最初是一种简略的脚本言语,当初最新版本3.0,是一种全完的面向对象的程编言语,能功强大,类库富丰,语法似类JavaScript,多于用Flash互动性、娱乐性、实用性开辟,网页制作和RIA应用程序开辟。
ActionScript 是一种基于ECMAScript的脚本言语,可于用编写Adobe Flash动画和应用程序。 由于ActionScript和JavaScript都是基于ECMAScript语法的,理论上它们互相可以很流畅地从一种言语翻译到另一种。不过JavaScript的文档对象模型(DOM)是以浏览器口窗,文档和表单为主的,ActionScript的文档对象模型(DOM)则以SWF格式动画为主,可包含动画,音频,文字和事件处置。
ActionScript第一次以它前目的语法出现是Flash 5版本,这也是第一个全完可对Flash程编的版本。这个版本被命名为ActionScript1.0。Flash 6通过加增大批的内置数函和对动画素元更好的程编制控更进一步增强了程编环境的能功。Flash 7(MX 2004)引进了ActionScript2.0,它加增了强类型(strong typing)和面向对象征特,如式显类声明, 继承,接口和格严据数类型。ActionScript1.0和2.0用使雷同的编译情势编译成Flash SWF件文(即Shockwave Flash files,或 'Small Web Format').
时间表
Flash Player 2:第一个支撑脚本的版本,包含制控时间轴的gotoAndPlay, gotoAndStop, nextFrame和nextScene等作动。
Flash Player 3:增强了载入外部SWF件文的基本脚本支撑(loadMovie)。
Flash Player 4:第一个全完实现脚本能功(称为作动)的播放器。这些脚本具有简洁的语法和对环循,条件,变量和其它基本言语结构的支撑。
Flash Player 5:第一个具有真正意义上的ActionScript的版本。根据ECMAScript并用采基于原型程编,并许允全完的 过程式程编和面向对象程编。
Flash Player 6:加增了事件处置模型,并且支撑switch。
Flash Player 7: Flash Player 7 供给一些新特性如支撑CSS示显文本和增强示显效果。 Macromedia Flash编译器和Flash Player 7同时支撑基于ECMAScript 4 Netscape Proposal的类程编言语ActionScript 2.0。不过ActionScript 2.0能交叉编译成ActionScript 1.0的字节码,因此它能行运于Flash Player 6。
Flash Player 8:加增于用行运时图象据数制控和件文上传的新类库及APIs,ActionScript 2.0能功更为完善。
Flash Player 8.5(划计于2006春布发release版本,currently in public beta):加增ActionScript 3.0和一个称为AVM2(ActionScript Virtual Machine 2)新的虚拟机,它可以与前版本AVM1共存以便支撑旧容内。增强能性是该版本的要主目标。
Flash Player 9 2007宣布,这是adobe购收Macromedia后的第一个版本,并且也是Mac OS X上第一个Universal版本的Flash Player。
Flash Player 10
语法
在ActionScript 2.0 类、与函式馆物件(如影片片段)可与类系联在一同。类总写在外在件文档案内,并且这些件文必须有.as后缀。类是增设部份──对ActionScrip言语来讲,可以让程式员自行开辟,虽然有很多建内类譬如MovieClip类──可被用来动态地在屏幕上画出量向──经已足满需求了。类档案可用来使您程编更加易容,并且类档案如果需要的话可在很多专案间转移。
Flash ActionScript实现的特色如下,JavaScript程式员许也感兴趣:
一切计设是步异的;callback是普遍存在的,但事件对象不存在。
XML的实现从Flash 5便存在了。Flash可送和收XML,该项能功可用来透过网络服务器发明网上多玩者游戏。
ActionScript 代码常常直接写在Flash开辟环境。该环境供给考参、代码提示和句法夸大。原代码常常与影电一同存在.fla档案里。自外部件文档透过#include语法导入ActionScript代码也相称见常。在这类情况下,外部档案许也被Flash集成开辟环境建内编译器,或Motion Twin ActionScript2编译器(MTASC)编译。见参外部链接。
评论
程编员人们说Macromedia ActionScript 2.0编译器有点慢,常常花好几分钟才编译100个类别,然而开放源码编译器MTASC可以利用;它快多了。
ActionScript非常广大的语法常常让程编员人们皱眉,因为它常常让不净干代码难以读阅。
在Flash里用使很多量向图形可能拖慢执行很多应用程序的器机的效力,因为Flash每帧每帧重画每一个量向图。Flash 8引进了cacheAsBitmap 变量,它临时把量向图换转到位图,这类做法帮助降低了延滞。
有些冷,有些凉,心中有些无奈,我一个人走在黑夜中,有些颤抖,身体瑟缩着,新也在抖动着,我看不清前方的路,何去何从,感觉迷茫,胸口有些闷,我环视了一下周围,无人的街头显得冷清,感到整个世界都要将我放弃。脚步彷徨之间,泪早已滴下……
Flash的ActionScript VM向倾在触发部内的停暂处置前就非常快到达它的运算极限,特别在麦金塔版的Flash播放器上更严峻。例如,简略从1算到5000会胁威某些用户Flash播放器的力能。
在Flash 8里很多人不喜欢引入(import)某些类直到要用到那些类别前最后一刻。可怜的是,ActionScript 3.0相称倚赖引入类别,没有导入撰写脚本(scripting)实际上不太可能。
.swf档案格式挺易容反编译,使它非常难以坚持源代码密机。
ActionScript 2.0 样本
面下打印Hello World。值得注意的是这只能在整合环境下执行,因为trace函式只有增援整合环境。
trace("Hello world!");
面下代码利用onMouseMove事件当标鼠挪动时输出现行标鼠位置。一样的这只有在整合环境下执行。
onMouseMove = function () {
trace("X: "+_root._xmouse);
trace("Y: "+_root._ymouse);
};
这个较先进的范例发明一个包含数字与字串的列阵,并利用形原函式(prototype function)与函式递归给变量名num指定一个数,给变量str指定一个字串。然后,利用MovieClip应用程序接口,文字区域被示显在屏幕上,文字区域头里写入了变量值。
var my_Array:Array = new Array("Hello", "ActionScript", 3, 7, 11, "Flash");
Array.prototype.pickNumber = function():Number {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "number") ? this[rand] : this.pickNumber();
};
Array.prototype.pickString = function():String {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "string") ? this[rand] : this.pickString();
};
var num:Number = my_Array.pickNumber();
var str:String = my_Array.pickString();
_root.createTextField("txt", 1, 10, 10, 530, 390);
txt.text = "Array = "+my_Array+"\nRandom Number = "+num+"\nRandom String = "+str;
ActionScript 3.0 样本
面下先进的Hello World程序前目需要在Flex 2.0公然Alpha测试版整合环境中编译。
package {
import flash.text.TextField;
import flash.display.MovieClip;
import flash.filters.DropShadowFilter;
public class HelloWorld extends MovieClip {
public function HelloWorld() {
var shad:DropShadowFilter = new DropShadowFilter(2, 45, 0x000000, 25, 3, 3, 2, 2);
var txt:TextField = new TextField();
txt.textColor = 0xFFFFFF;
txt.filters = [shad];
txt.width = 120;
txt.x = Math.random()*300;
txt.y = Math.random()*300;
txt.selectable = false;
txt.text = "Hello World! ["+Math.round(txt.x)+","+Math.round(txt.y)+"]";
addChild(txt);
}
}
}
//-----ActionScript3.0----------------- //as3.0最要主的念概就是在效力方面的进增,时平所入加的任何事件都可以被监听或从内存中移除 //以下例子就是监听与移除内存占用,这是as3.0最要主的基本念概
bt1.addEventListener(MouseEvent.CLICK,bt1_click);
function bt1_click(e:MouseEvent):void{ //触发的事件容内; }
//该按纽监听不需要时则remove掉,加增效力 bt1.removeEventListener(MouseEvent.CLICK,bt1_click);
文章结束给大家分享下程序员的一些笑话语录: IBM和波音777
波音777是有史以来第一架完全在电脑虚拟现实中设计制造的飞机,所用的设备完全由IBM公司所提供。试飞前,波音公司的总裁非常热情的邀请IBM的技术主管去参加试飞,可那位主管却说道:“啊,非常荣幸,可惜那天是我妻子的生日,So..”..
波音公司的总载一听就生气了:“胆小鬼,我还没告诉你试飞的日期呢!”
类版本ActionScript简介相关推荐
- uc浏览器TV版最新版本功能简介
uc浏览器TV版最新版本功能简介 UC浏览器TV版怎么样?提起UC很多人都知道,不就是那款在手机上很火的浏览器么?而要说到UC电视版,知道的人就不多了.本月初,UC发布了旗下首款PC版浏览器,网友们试 ...
- Git 版本管理系统简介和远程仓库
版本管理系统简介 项目的版本 版本和我们平常说的软件.游戏等的版本是一个意思,比如 1.2.8 版本.比如 第1版,比如webstorm2020. 所以,版本指的就是代码编写进度当中的一些节点. 比如 ...
- 检测、识别类算法性能指标简介
检测.识别类算法性能指标简介 1 概念介绍 先假定一个具体场景作为例子. 假如某个班级有男生80人,女生20人,共计100人.目标是找出所有女生. 某人挑选出50个人,其中20人是女生,另外还错误的把 ...
- Hubble.Net 0.1 版本算法简介
Hubble.Net 0.1 版本算法简介 Eaglet 经过3周的开发,Hubble.Net 0.1 版本已经完成.这个版本不是一个可以商业应用的版本,准确的说其只完成了一些最核心的算法.发 ...
- Matcher类中方法简介说明
转自: Matcher类中方法简介说明 Matcher类中索引方法 索引方法的功能: 提供了索引信息, 返回匹配字符串的位置信息 索引方法如下所示: 编号 方法及备注说明 1 public int s ...
- 错误: 内存泄漏,当您使用 GetDC 方法和 ReleaseDC 方法的 CWnd 类版本
症状 调用CWnd::GetDC函数跟CWnd::ReleaseDC函数的代码运行时,会出现 4 个字节的内存泄漏. 原因 导致此错误的原因是当前未知. 解决方案 若要避免此问题,请不要使用GetDC ...
- html伪类选择器怎么使用,CSS3 :default伪类选择器使用简介
一.CSS3 :default伪类选择器简介 CSS3 :default 伪类选择器只能作用在表单元素上,表示默认状态的表单元素. 举个例子,一个下拉框,可能有多个选项,我们默认会让某个 处于 sel ...
- 凹语言版本 yacc 简介 - 以表达式解析为例
yacc 是用于生成语法解析器的程序,是编译器爱好者的工具.凹语言的 yacc 从 goyacc 移植而来,目前可以初步支持输出 凹语言 版本解析器代码.本文以以表达式解析为例展示下用法. 完整的例子 ...
- sql server版本特性简介、版本介绍简介
1.SQL Server 版本简介 1.1.sql server的版本信息 年 代 版 本 大版本号 1993年 SQL Server for Windows NT 4.21 1994年 ...
最新文章
- AngularJS 杂项知识点
- NameError: name ‘sklearn‘ is not defined的解决方法:
- Linux Rootkit 系列四:对于系统调用挂钩方法的补充
- linux 读写设备文件,linux-中块设备文件及字符设备文件的本质区别
- 用javascript伪造太阳系模型系统
- python 去除字符串里所有标点符号
- Python使用openpyxl和pandas处理学生成绩Excel文件实用案例
- 【2017CCPC哈尔滨赛区 HDU 6242】Geometry Problem【随机化】
- WordPress插件/WP资源下载管理插件 1.3.4
- TARA-基于J3061的概念阶段流程
- 轩小陌的Python笔记-Pandas 高级数据处理
- Py之shap:shap.explainers.shap_values函数的简介、解读(shap_values[1]索引为1的原因)、使用方法之详细攻略
- 计算机应用多媒体设计是学什么的,数字媒体艺术设计专业是学什么?
- chrome/Edge搜索技巧
- VMware 打开虚拟机屏幕太小问题解决
- 中标麒麟 NeoKylin 5.1 安装C++环境
- PC端自动化工具开发:Pywinauto的安装及使用
- fabric2.2版本 单机测试环境搭建
- Vue学习(二)动态绑定与事件监听
- 拓扑空间、距离空间、向量空间和内积空间
热门文章
- 关于C++,Java与Python的一点看法
- 法师VS战士PK小谈
- 解决打印机每次打印完都会额外打印一张带有文件名、目录、模板等信息的问题
- 深度|从数据仓库到数据湖——浅谈数据架构演进
- Android通用初始化Activity模板
- Mac Safari 打不开网页,因为无法连接到服务器
- 720°VR全景网站制作-多场景
- freecodecamp//响应式 Web 设计//项目实战——2制作一个调查表格(Build a Survey Form)
- java单机武侠_Java之TankWar(单机版)历程
- 社招 | 华为合作CV算法岗