ActionScript

开源公司:Macromedia

作品详情

软件名称
动作脚本语言
展开
软件版本
ActionScript3.0
展开
简称
AS
展开
开发商
展开
英文名称
Action script
展开
特点
面向对象
展开




1定义




运用在flash上的脚本语言。



2使用





ActionScript 动作脚本是遵循ECMAscript第四版 的Adobe Flash Player运行时环境的编程语言。它在 Flash 内容和应用程序中实现交互性、数据处理、以及其他功能。


* ActionScript 是由 Flash Player 地方gtr和其中的 ActionScript虚拟机(AVM)来执行。


* ActionScript代码通常被编译成“字节码格式”。


* ActionScript 的主要 IDE(集成开发环境) 是Adobe公司的 Flash Builder,最新版本 4.7。


* ActionScript CS3(2007)后为更新为ActionScript 3.0,语言的系统结构完全改变,支持即时编译,语言功能增强速度。




3发展





从macromedia大刀阔斧对As1.0进行改革到AS2.0,这一段过程看上去还算长一些,从flashmx到flash mx2004到flash 7.2再到flash8. 它们的核心actionscript都是as2.0.在flash8刚刚发布不长时间,macromedia又紧罗密鼓的推出了flash9预览版,Adobe发布的预览版可以对AS3.0进行编译,而As3.0经过测试它的速度可以说要比之前的as2.0快10倍.拿着as3.0与As2.0相对比,它看上去就象是重写的一种新语言一样.还有随之推出的adobe的Flex 2.0 builder. Flex sdk.让许多人一时不知所措。


·Flash Player2:第一个支持脚本的版本,包括控制时间轴的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


下面打印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);




4相关术语





1.Actions (动作):就是程序语句,它是actionscript脚本语言的灵魂和核心.


2.Events (事件):简单的说,要执行某一个动作,必须提供一定的条件,如需要某一个事件对该动作进行的一种触发,那么这个触发功能的部分就是actionscript中的事件.


3.Class (类):是一系列相互之间有联系的数据的集合,用来定义新的对象类型.


4.Constructor (构造器):用于定义类的属性和方法的函数.


5.Expressions (表达式):语句中能够产生一个值的任一部分.


6.Function.(函数):指可以被传送参数并能返回值的以及可重复使用的代码块.


7.Identifiers (标示符):用于识别某个变量,属性,对象,函数或方法的名称.


8.Instances (实例):实例是属于某个类的对象,一个类的每一个实例都包含类的所有属性和方法.


9.Variable (变量):变量是储存任意数据类型的值的标示符.


10. Instancenames (实例名):是在脚本中指向影片剪辑实例的唯一名字.


11.Methods (方法):是指被指派给某一个对象的函数,一个函数被分配后,它可以作为这个对象的方法被调用.


12.Objects (对象):就是属性的集合.每个对象都有自己的名字和值,通过对象可以自由访问某一个类型的信息.


13.Property (特性):对象具有的独特属性.


Flash使用ActionScript给动画添加交互性。在简单动画中,Flash按顺序播放动画中的场景和帧,而在交互动画中,用户可以使用键盘或鼠标与动画交互。例如,可以单击动画中的按钮,然后跳转到动画的不同部分继续播放;可以移动动画中的对象;可以在表单中输入信息等等。使用ActionScript可以控制Flash动画中的对象,创建导航元素和交互元素,扩展Flash创作交互动画和网络应用的能力。



声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
项目介绍:超时空收割战士 一、项目概述 “超时空收割战士”是一款集动作、冒险、策略于一体的创新小游戏。玩家将扮演一名穿梭于不同时空的收割战士,利用独特的武器和技能,击败来自各个时代的敌人,保卫宇宙的和平。游戏采用cocos前端框架,提供流畅精美的画面和交互体验;后端采用Java技术,确保稳定的游戏运行和数据处理。 二、项目功能模块 角色创建与定制 玩家可以自定义战士的外观、装备和技能。 提供多种武器和装备选择,每种都有其独特的属性和技能加成。 时空穿梭系统 玩家可以通过时空穿梭机进入不同的历史时期或未来世界。 每个时空都有独特的敌人和挑战,需要玩家使用不同的策略来应对。 战斗系统 实时
1、该项目为微信公众号(H5)独立开发 2、使用环信通信实现线上咨询聊天 3、聊天历史数据的存储存在延迟,前端通过indexDB进行存储 4、商城一整套流程,选择商品 > 支付 > 物流信息 > 订单信息
这是一个关于区块链上的dapp具体实现。真实新闻系统是基于区块链的高安全性,高透明性以及不可篡改性,社会各界对区块链 的关注度 也越来越高,所以我们联合共同打造了这个基于区块链的为广大社会群体服务的系统平台。 功能介绍 1. 登录注册 这个登录注册不需要连接数据库,我把账户密码全都保存在区块链上的智能合约中。登录注册后会自动同步到广大的 链式记忆中,不能够二次更改,规则不允许。 2. 发表真实的新闻 每当用户发表一个新闻时,被记录在区块链中,在前端显示,也能看到其他用户发布的新闻 3. 赞赏其他用户发布的新闻 连接metamask公链,使用USDT虚拟货币 4. 查询新闻的具体信息 技术: 后
这是一个实现了编辑框自动完成输入的 Flex 组件。
As3 Crypto 是一个 ActionScript 编写的加密库,提供多种常用的加密解密算法支持,同时包含一个 TLS 引擎: Protocols: TLS 1.0 support (par...
当前共56个项目

评论