【精编范文】as3开发范例word版本 (9页)
ActionScript3.0(as3)实现的A寻路算法...-电脑资料

ActionScript3.0(as3)实现的A*寻路算法...-电脑资料曾经写过A*寻路算法的教程,但没有贴出任何代码,这次代码全都贴出,大家可以进一步学习我只是按照A*的基本思想,将A*寻路算法用AS3实现了一下,没有做太多的寻路优化等如果你本身已经会用A*寻路算法了,那么下面的代码也不必研究了代码中注释很多,就不贴过多的解释看代码以前,可以先看看下面这两篇文章,或者看代码的时候配合例子和教程来看A*(A星)寻路算法讲解A*寻路算法,DEMO展示在DEMO展示中,有三个版本,由于代码写了很久了,我也不记得下面贴出的代码是哪个版本的了,见谅,。
首先是文档类Index.as:package code{import flash.display.Sprite;import flash.text.T extField;import flash.text.T extFormat;public class Index extends Sprite{private var road:Road;public function Index(){stage.align = "TL";stage.scaleMode = "noScale";stage.showDefaultContextMenu = false;init();}//初始化private function init():void{road = new Road;addChild(road);road.x = GV.ROAD_INIT_X;road.y = GV.ROAD_INIT_Y;//地图规格申明var text:TextField = new TextField;text.htmlText = "地图规格:50*50方格,障碍物500方格寻路算法:A*(星)制作:sunbright";addChild(text);text.x = 25;text.y = 530;text.width = 500;text.selectable = false;text.mouseEnabled = false;text.setTextFormat(new TextFormat("宋体",12,0xffffff));text = null;}}}定义参数的类:GV.aspackage{public class GV{public function GV(){throw new Error("变量");}//Road创建的初始x、y坐标public static const ROAD_INIT_X:int = 25;public static const ROAD_INIT_Y:int = 25;//纵横方块参数public static const WIDTH_NUMBER:int = 50; public static const HEIGHT_NUMBER:int = 50; public static const WIDTH_TOTAL:int = 500; public static const HEIGHT_TOTAL:int = 500; public static const GRID_WIDTH:int = 10;public static const GRID_HEIGHT:int = 10;//障碍物个数public static const THING_NUMBER:int = 500;//state状态参数表示public static const HAVE_THING:int = 1;public static const IMPASSE_VALUE:int = 2; public static const MAIN_VALUE:int = 8;//路径耗费固定值public static const BIAS_VALUE:int = 14;public static const LINE_VALUE:int = 10;//文本表示public static const IMPASSE:String = "死路!"; public static const RESULT_FRONT:String = "用时 "; public static const RESULT_BACK:String = " 毫秒"; }}主要算法所存在的Road.as类package code{import flash.display.Sprite;import flash.events.MouseEvent;import flash.text.T extField;import flash.text.T extFormat;import flash.utils.clearInterval;import flash.utils.getTimer;import flash.utils.setInterval;public class Road extends Sprite{private var lands:Sprite;private var things:Sprite;private var c:Coordinate;private var main:Main;private var click:Sprite;private var drawPath:Sprite;private var result:TextField;private var unlockList:Array;private var lockList:Object;private var targetIX:int;private var targetIY:int;private var intervalID:int = 0;private var startTime:int;private var endTime:int;public function Road(){init();}//初始化private function init():void{//创建坐标c = new Coordinate;//创建文本框result = new TextField;result.mouseEnabled = false;result.autoSize = "left";result.y = -20;result.selectable = false;result.defaultTextFormat = new TextFormat("宋体",12,0xffffff); addChild(result);result.text = "结果";//创建平原lands = new Sprite;lands.mouseChildren = false;lands.mouseEnabled = false;addChild(lands);lands.graphics.beginFill(0xff0000);lands.graphics.lineStyle(0);lands.graphics.drawRect(0,0,GV.WIDTH_TOTAL,GV.HEIGHT_T OTAL);for(var i:int = 1; i < GV.WIDTH_NUMBER; i ++){lands.graphics.moveTo(GV.GRID_WIDTH * i,0);lands.graphics.lineTo(GV.GRID_WIDTH * i,GV.HEIGHT_TOTAL);lands.graphics.endFill();lands.graphics.moveTo(0,GV.GRID_HEIGHT * i);lands.graphics.lineTo(GV.WIDTH_TOTAL,GV.GRID_HEIGHT * i);lands.graphics.endFill();}//创建障碍层things = new Sprite;things.mouseChildren = false;things.mouseEnabled = false;addChild(things);//创建路线绘制层drawPath = new Sprite;addChild(drawPath);//创建操控人main = new Main;addChild(main);//创建控制区click = new Sprite;click.graphics.beginFill(0,0);click.graphics.drawRect(0,0,GV.WIDTH_TOTAL,GV.HEIGHT_TO TAL);addChild(click);click.addEventListener(MouseEvent.CLICK,clickHandle);//开始初始化randomState();createRoad();}//随机生成障碍private function randomState():void{var ix:int;var iy:int;var i:int = 0;//随机障碍while(i < GV.THING_NUMBER){ix = int(Math.random() * GV.WIDTH_NUMBER);iy = int(Math.random() * GV.HEIGHT_NUMBER);if(c[ix][iy] == null){i ++;c[ix][iy] = GV.HAVE_THING;}}//随机摆放操控人while(true){ix = int(Math.random() * GV.WIDTH_NUMBER);iy = int(Math.random() * GV.HEIGHT_NUMBER);if(c[ix][iy] == null){c[ix][iy] = GV.MAIN_VALUE;break;}}}//创建马路现状private function createRoad():void{for(var i:int = 0; i < GV.WIDTH_NUMBER * GV.HEIGHT_NUMBER; i ++){var state:State = new State;var ix:int = i % GV.WIDTH_NUMBER;var iy:int = Math.floor(i / GV.HEIGHT_NUMBER);state.value = c[ix][iy];switch(state.value){case GV.HAVE_THING://如果等于1表示有障碍var thing:Thing = new Thing;thing.x = ix * GV.GRID_WIDTH;thing.y = iy * GV.GRID_HEIGHT;things.addChild(thing);thing = null;break;case GV.IMPASSE_VALUE://如多等于2表示死路//死路只需将value设置成2即可!break;case GV.MAIN_VALUE://如果等于8表示操控人main.x = ix * GV.GRID_WIDTH;main.y = iy * GV.GRID_HEIGHT;break;}c[ix][iy] = state;}}//点击触发private function clickHandle(e:MouseEvent):void{drawPath.graphics.clear();targetIX = Math.floor(e.localX / GV.GRID_WIDTH);targetIY = Math.floor(e.localY / GV.GRID_HEIGHT);//时间记录startTime = getTimer();var path:Array = seekRoad();endTime = getTimer();//根据路径开始走路walkRoad(path);path = null;}//开始走路private function walkRoad(path:Array):void{//显示寻路消耗时间result.text = GV.RESULT_FRONT + (endTime - startTime) + GV.RESULT_BACK;//判断是否为死路if(path.length == 0){result.text = GV.IMPASSE + result.text;}drawPath.graphics.lineStyle(2,0xffffff);path.just = true;intervalID = setInterval(walkRoadHandle,50,path);}//走路处理private function walkRoadHandle(path:Array):void{//是否路已经走完if(path.length == 0){//结束走路clearInterval(intervalID);//开启触发器click.mouseEnabled = true;return;}//开始走路var obj:Object = path.shift();main.x = obj.x;main.y = obj.y;bj = null;//绘制路径if(path.just){path.just = false;drawPath.graphics.moveTo(main.x + 5,main.y + 5);}else{drawPath.graphics.lineTo(main.x + 5,main.y + 5);}}//开始寻路private function seekRoad():Array{//关闭触发器click.mouseEnabled = false;//判断目标点是不是有障碍,或者是不是死路if(c[targetIX][targetIY].isThing c[targetIX][targetIY].isWalk){ return new Array;}//寻路初始化var path:Array = new Array;unlockList = new Array;lockList = new Object;//初始标记var ix:int = main.ix;var iy:int = main.iy;//创建开始标记var sign:Sign = new Sign(ix,iy,0,0,null);lockList[ix + "_" + iy] = sign;while(true){//生成八个方向的标记开启addUnlockList(createSign(ix + 1,iy - 1,true ,sign)); addUnlockList(createSign(ix + 1,iy ,false,sign)); addUnlockList(createSign(ix + 1,iy + 1,true ,sign)); addUnlockList(createSign(ix - 1,iy + 1,true ,sign)); addUnlockList(createSign(ix ,iy + 1,false,sign)); addUnlockList(createSign(ix - 1,iy ,false,sign)); addUnlockList(createSign(ix - 1,iy - 1,true ,sign)); addUnlockList(createSign(ix ,iy - 1,false,sign));//判断开启列表是否已经为空if(unlockList.length == 0){break;}//从开启列表中取出h值最低的标记unlockList.sortOn("f",Array.NUMERIC);sign = unlockList.shift();lockList[sign.ix + "_" + sign.iy] = sign;ix = sign.ix;iy = sign.iy;//判断是否找出路径if(ix == targetIX && iy == targetIY){while(sign != null){path.push(sign.getSign());sign = sign.p;}break;}}sign = null;return path.reverse();}//添加到开启标记列表private function addUnlockList(sign:Sign):void{if(sign){unlockList.push(sign);unlockList[sign.ix + "_" + sign.iy] = sign;}}//生成标记private function createSign(ix:int,iy:int,p:Boolean,_p:Sign):Sign{//是否出格if(ix < 0 iy < 0 ix >= GV.WIDTH_NUMBER iy >= GV.HEIGHT_NUMBER){return null;}//是否有障碍物if(c[ix][iy].isThing){return null;}//是否已经加入关闭标记列表if(lockList[ix + "_" + iy]){return null;}//是否已经加入开启标记列表if(unlockList[ix + "_" + iy]){return null;}//判断当斜着走的时候,它的上下或者左右是否有障碍物if(p){if(c[_p.ix][iy].isThing c[ix][_p.iy].isThing){return null;}}var cx:Number = Math.abs(targetIX - ix);var cy:Number = Math.abs(targetIY - iy);return new Sign(ix,iy,p ? GV.BIAS_VALUE : GV.LINE_VALUE,(cx + cy) * 10,_p);}}}标记数据记录,Sign.as类package code{public class Sign{private var _ix:Number;private var _iy:Number;private var _p:Sign;private var _f:int = 0;private var _g:int = 0;private var _h:int = 0;//f表示路径评分、g表示当前移动耗费、h表示当前估计移动耗费//公式:f = g + h,表示路径评分的算法//ng值表示以父标记为主标记的g值//nh值表示当前估计移动耗费public function Sign(_ix:Number,_iy:Number,ng:int,nh:int,_p:Sign = null){ this._ix = _ix;this._iy = _iy;this._p = _p;if(_p){_g = _p.g + ng;_h = nh;_f = _g + _h;}}//获取该标记的坐标public function getSign():Object{return {x:_ix * GV.GRID_WIDTH,y:_iy * GV.GRID_HEIGHT};}//获取它表示的x坐标public function get ix():int{return _ix;}//获取它表示的y坐标public function get iy():int{return _iy;}//获取父标记public function get p():Sign{return _p;}//获取路径评分public function get f():int{return _f;}//获取当前路径移动耗费public function get g():int{return _g;}//获取当前路径耗费估值public function get h():int{return _h;}//重写toString值public function toString():String{ return ix + "," + iy;}}}某点状态类,State.aspackage code{public class State{public var value:int = 0;public function State(){}//获取是否障碍public function get isThing():Boolean{ return value == GV.HAVE_THING;}//获取是否死路public function get isWalk():Boolean{return value == GV.IMPASSE_VALUE;}//重写toStringpublic function toString():String{return value.toString();}}}物体类:Thing.aspackage code{import flash.display.Sprite;public class Thing extends Sprite{public function Thing(){init();}//初始化private function init():void{graphics.beginFill(0);graphics.drawRect(0,0,GV.GRID_WIDTH,GV.GRID_HEIGHT); mouseEnabled = false;mouseChildren = false;}}}坐标系类,Coordinate.aspackage code{public dynamic class Coordinate extends Array{public function Coordinate(){init();}//初始化private function init():void{for(var i:int = 0; i < GV.WIDTH_NUMBER; i ++){push(new Array(GV.HEIGHT_NUMBER));}}}}主角类,Main.aspackage code{import flash.display.Sprite;public class Main extends Sprite{public function Main(){init();}//初始化private function init():void{graphics.beginFill(0x0000ff);graphics.drawRect(0,0,GV.GRID_WIDTH,GV.GRID_HEIGHT); mouseEnabled = false;mouseChildren = false;}//获取ix坐标public function get ix():int{return int(x / GV.GRID_WIDTH);}//获取iy坐标public function get iy():int{return int(y / GV.GRID_HEIGHT);}}}源文件打包下载下载源文件,直接打开move.fla运行即可。
AS3开发卡牌网游 第二章

修改昨天的一个错误:不管用的是那个版本的Flash Builder 4.7,请无视第四步到第七步,不需要作此修改。
原因是我把后面的一部分内容看错,提前发出来了,在这里向大家表示道歉,原帖正在修改中,给大家带来的误解尽情原谅。
不说废话,昨天已经把我们需要的环境搭建好了,我们今天就开始来写代码吧!一、代码结构规划如图所示,请手动建立这些包。
app.game:游戏除初始化类以外的所有类;app.game.core:存放一下游戏的核心类;app.game.events:存放游戏所需要的事件类,这些类包括从AS3的Event原生继承下来的,也包括Starling的Event继承下来的;app.game.mvc:游戏MVC的核;app.game.mvc.controllers:游戏MVC中的控制器;app.game.mvc.models.data:游戏MVC中的模型之静态数据;app.game.mvc.models.env:游戏MVC中的模型之系统初始化数据;app.game.mvc.models.message:游戏MVC中的模型之与服务器交互的数据类;app.game.mvc.views:游戏MVC中的视图;app.game.uis:游戏里面所有UI存放的地方,这个地址将UI和View分开,可以很快速的更换UI的所有部分,View里面可以少量更改,或者不更改都不影响整个游戏;app.game.uis.controls:游戏里面自定义的控件;app.game.uis.controls.renderers:游戏里用的一些渲染器;app.game.utils:游戏工具包。
这里其实还有一种分法,就是每一个功能模块下各有一个mvc包,这样的分发更适合中大型游戏,一个人有一个独立的模块这样去做。
像我们的《暗黑》其实没有必要这样分,有点浪费,更显得凌乱。
毕竟《暗黑》不是一个大游戏啊。
二、初始化我们先预设一下我们的游戏大小,背景颜色,和帧之类的东西。
AS3前端代码及编程规范

AS3前端代码及编程规范页游科技版权所有不得复制文档历史关键词:代码编程规范目录1.代码规范 (4)1.1.代码文件说明 (4)1.2.命名及代码书写规范 (4)1.3.函数体规范 (5)1.4.注释规范 (6)2.编程规范 (8)2.1.编码原则 (8)2.2.编码约定 (8)2.3.性能优化 (9)2.4.模块开发编码原则 (9)1.代码规范1.1. 代码文件说明任何一个代码的[.as]文件长度原则上不超过1000行。
由于代码长度的限制,因此很多的类需要拆分。
拆分时,必须按照功能进行拆分。
即同一个功能的操作可以独立到一个类中完成。
1.2. 命名及代码书写规范在无歧义的前提下,命名力求简洁代码统一按照驼峰式命名规则编写,下面是详细说明。
1.类的命名按照大驼峰式命名法,名字中每个单词的首字母大写,名字长度不超过3个英文单词。
特殊情况下也不可以超过5个单词,即控制名字的长度。
例如:ResourceManager2.枚举类型[常量]定义时需要用E开头,名称中的单词必须全部使用大写,并且每个单词之间用下划线隔离。
在具体枚举数据定义时,首先需要包括数据类型前缀,然后跟具体的常量名;所有的单词必须大写,且每个单词间使用下划线分开。
比如COLOR_RED。
AS中用class来描述枚举。
/*** 颜色常量* @author txiejun* @contact txiejun@* @created Oct 19, 2012 12:01:31 PM*/public class E_COLOR{public static constCOLOR_RED:uint = 0xff0000; //红色public static constCOLOR_PURPLE:uint = 0xB726B7; //紫色public static constCOLOR_GREEN:uint = 0x00ff00; //绿色public static constCOLOR_BLUE:uint = 0x0000ff; //蓝色}3.变量命名按照小驼峰式命名法,名字中第一个单词全部小写,从第二个单词开始首字母大写。
基于AS3的中小学教学软件开发与设计

F福建电脑UJIAN COMPUTER福建电脑2017年第11期1引文基于AS3的中小学教学软件开发与设计,在视觉上可以给学生带来更好的视觉冲击力,让学生在欣赏的过程中从具象思维逐步走向抽象思维。
2Flash 简介Flash 是一种常用的多媒体动画设计软件,它被应用于多种领域。
它可以制作出绚丽多彩的动态效果,结合声音,使形象更加生动。
而且其生产文件体积小、易于传播,再加上交互功能强,便于操作,因此受到了广大动画爱好者的一致欢迎。
3Flash 课件制作的一般步骤基于AS3的中小学教学软件开发与设计具有视觉的冲击性,画面精美,制作步骤也很简洁,具体的步骤如下:首先要对Flash 课件的制作进行整体的规划,想好导入新课,探究新知,深化新知的内容和排版,结构的规划必须合理,本次设计框架如下图所示:其次要找好背景图片,和课文内容有关的图片,对图片进行处理,制作不同的效果,但制作的效果不能杂乱无章,要和课文的内容紧密相连。
而且设计成动态效果,更能在教学的过程中给学生以美的享受,例如此次在课文《地球和它的七个兄弟》课间设计中我们引用了八大行星动态旋转效果,画面精美又精准:最后在制作的过程中要在时间轴中不同的图层插入关键帧,将变形图层的最后一帧转换为关键帧,在不同的动作脚本中根据制作效果的不同分别加入this.stop()或stop()等类似代码以完成复杂的控制,使课件更加灵活实用。
而且在此课件制作过程完成后,应将课件转化为exe 的形式以便于播放。
4Flash 课件的优势1.Flash 课件软件对电脑配置要求不高,安装便捷,操作简单,不需要专业的计算机知识也可以使用。
2.Flash 生成的课件体积小,便于携带。
课件使用方便,可以直接发布为.exe 文件,不需要播放器或浏览器就可以在任意一台电脑上使用。
3.Flash 课件能更加形象直观的演示。
无论是物理电路图的通断,还是化学实验的变化,亦或是文科课件动画的形象生动,都能够直观的演示出来。
AS3.0案例教程

4
案例3打飞机
绑定类访问影片子元件 1做影片剪辑 2 生成类文件 1)为子影片剪辑定义MovieClip类型 3构造函数调用初始化函数init()
4、function init()影片剪辑播放;实现拖动;鼠
标单击事件侦听 5、侦听函数实现子影片剪播放功能 6、扩展功能*:鼠标点击影片剪辑移动和旋转
24
期末巩固练习
2、游戏逻辑
状态1准备选第1张 firstcard=null secondcard=null
25
状态2准备选第2张 firstcard≠null secondcard=null
期末巩固练习
2、游戏逻辑
状态3未配对成功 firstcard≠null secondcard≠null
26
5)变量内容由影片剪辑到根层级传递(见代码)
30
期末巩固练习
5、添加游戏效果
5、1卡片翻转效果
1)新建一个Card类,实现翻转。十步实现翻转。设一个变量=10,递减 2)6-10步this.scaleX=0.8,0.6,0.4,0.2,0逐渐变小
3)5-1步相反this.scaleX=0,0.2,0.4,0.6,0.8,1
lineSprite.graphics.moveTo(rectCanvas.x , rectCanvas.y + tileHeight*(i + 1));
lineSprite.graphics.lineTo(rectCanvas.x + rectCanvas.width , rectCanvas.y + tileHeight*(i + 1));
0
1
2
3
2
5
trace( tile.index % col );1 trace( Math.floor(tile.index/col) );0
AS3-学习笔记-flashdevelop平台-搭建-配置

AS3-学习笔记-flashdevelop平台-搭建-配置2009-12-26 23:24前段时间在啃完两本AS书后,开始蠢蠢欲动,Jo-Nick推荐用flashdevelop开发,于是就整了个来玩。
这个软件相当地淑女,喜欢她那简洁而又华丽的外表,还有一些非常实用的小细节,不过伺候起来还比较麻烦,前期要整好多东西。
PS:虽然天地会论坛里有讲怎么安装,但是因为在论坛里,看起来还比较麻烦,所以就打算整理一下,嘿嘿。
下面稍微介绍一下如何搭建这个淑女一样的平台。
首先是下载相关软件:1.flashdevelop 3.0.0 beta9+下载地址2. .net framework 2.0 版本列表5.Flash player Debug 下载地址下载列表(调试用的呢· 不然flash里的trace 就显示不出来了。
)补充:网友aObject 反应上面的debug不能用,经证实确实会提示错误. 通过交流,找到了正确的debug sa_flashplayer_9_debug.exe 也希望哪位达人给个解释, 3Q如果只开发 as 那么以上软件已经够了呢。
下载完后,就开始配置咯。
分别装好.net framework 2.0,java sdk 1.6,FD(flashdevelop)。
flash SDK 4.0 不用装呢·,解压开放在自己看得见找得到的地方,如: D:\flex_sdk_4 (之后有用)。
Flash player Debug 就放在 flash player 相同目录吧。
然后打开FD是开始配置Tools -> Programe Settings 设置AS3context 下的 flex sdk 的地址为上面你保存的地址路径设置Flash viewer 下的External player Path 为 flash player debug 的地址。
至此配置简单完成。
初次调试:新建一个empty project新建一个main函数写下我的初夜··· he llo world :个人觉得这个目录方式很经典··。
【AS3代码】一个完整的游戏框架

【AS3代码】⼀个完整的游戏框架package{import flash.display.Sprite;import flash.events.Event;import flash.events.MouseEvent;public class Main extends Sprite{public static const STATE_INIT:int = 10;public static const STATE_PLAY:int = 20;public static const STATE_GAME_OVER:int = 30;public var gameState:int = 0; //游戏状态public var clicks:int = 0; //游戏点击次数public function Main():void{init();}private function init():void{this.addEventListener(Event.ENTER_FRAME, gameLoop);gameState = STATE_INIT;}public function gameLoop(e:Event):void{switch(gameState){case STATE_INIT:initGame();break;case STATE_PLAY:playGame();break;case STATE_GAME_OVER:gameOver();break;}}public function initGame():void{//初始化游戏,当按钮被点击后,点击次数归零,状态改为游戏开始stage.addEventListener(MouseEvent.CLICK, onMouseClickEvent);clicks = 0;gameState = STATE_PLAY;}public function playGame():void{//若游戏被点击了10次,状态改为游戏结束if(clicks >= 10){gameState = STATE_GAME_OVER;}}public function onMouseClickEvent(e:MouseEvent):void{clicks++; //游戏点击次数+1trace("点击了" + clicks + "次游戏!");}public function gameOver():void{//注销游戏监听器stage.removeEventListener(MouseEvent.CLICK, onMouseClickEvent);gameState = STATE_INIT;trace("游戏结束!"); }}}。
as3语言运用分享

as3语言运用分享ActionScript 3.0 是一种强大的面向对象编程语言,用来编写Adobe Flash 电影和应用程序。
基本的代码结构如下:package{ //定义包名import flash.display.Sprite; //导入外部包public class DrawDemo extends Sprite //主类必须继承Sprite或者MovieClip{public function DrawDemo() //构造函数{this.graphics.beginFill(0xff0000); //设置填充色this.graphics.drawCircle(0,0,30); //画一个圆(前两个参数分别代表圆心(相对于父显示对象注册点//的圆心的x,y的位置(以像素为单位)。
)第三个代表圆的半径(以像素为单位)) //设置圆在舞台上的位置this.x=300;this.y=300;this.graphics.endFill();//结束绘画addChild(this);//所画的内容添加到舞台上}}}为了帮助开发人员更了解as3语言,以下做了一个实例分享。
以下是一个云帆flash用as3写的视频播放器,正在进行视频播放器开发的朋友可以借鉴一下。
package{import ponents.HSlider;import ponents.InputText;import bel;import ponents.PushButton;import flash.display.Sprite;import flash.events.Event;import flash.events.MouseEvent;import StatusEvent;import flash.media.SoundTransform;import flash.media.Video;import Connection;import Stream;[swf(width="500", height="500")]public class videoDisplay extends Sprite{private var _netStream:NetStream;private var _sp:Sprite;private var _bool:Boolean;//判断滑块是否按下,在每帧事件上侦听private var _hRangeSlider:HSlider;//视频加载位置private var _hRangeSlider2:HSlider;//视频播放位置private var _lable:Label;//显示当前播放时间/总时间private var _play:PushButton;//播放和暂停按钮private var _source:HSlider;//调整时声音滑块private var _sourceNum:Number = 0.6;//初始声音private var _soundOff:PushButton;//静音和开放按钮private var _isPlay:Boolean = false;//是否在播放private var _duration:Number;//返回总时间,秒为单位//静音,0为静音private var sounceNum:int =1;private var _soundTransform:SoundTransform;public function videoDisplay(){_bool = false;//绘制控件Draw();//视频连接和播放主文件start 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
== 本文为word格式,下载后可方便编辑和修改! ==
as3开发范例
篇一:as3游戏开发工程师个人简历模板
找as3游戏开发工程师就上才智尚招聘网
找as3游戏开发工程师就上才智尚招聘网
篇二:as3.0范例100
要先导入
import fl.transitions.Tween;
//导入缓动类
import fl.transitions.TweenEvent;
//导入缓动事件
import fl.transitions.easing.Regular;
//导入缓动效果中有规律的
var arrTupian:Array=[];
//存放图片的数组
var tweenscaleX:Tween;
//用来控制图片宽高的缓动类
var tweenscaleY:Tween;
var datu:MovieClip;
for (var i:int=0; i<8; i++) {
var xiaotu:MovieClip =new Pic();
//这里Pic是库中一个存放图片的类文件
addChild(xiaotu);
xiaotu.gotoAndStop(i+1);
xiaotu.width=120;
xiaotu.height=100;
xiaotu.x=xiaotu.width/2+i*(xiaotu.width+10); xiaotu.y=420;
arrTupian.push(xiaotu);
xiaotu.addEventListener(Event.ENTER_FRAME ,dongf); //为每个小球添加移动帧频函数
}
function dongf(e) {
var mc:MovieClip=e.target;
mc.x-=6;
if (mc.x<0-(xiaotu.width/2+10)) {
//如果该图片出了场景则放在最后一张图片的位置
mc.x=xiaotu.width/2+7*(xiaotu.width+10);
}
mc.buttonMode=true;
mc.addEventListener(MouseEvent.MOUSE_OVER ,overf); //鼠标移过时候停止移动
mc.addEventListener(MouseEvent.MOUSE_OUT,outf);
//
}
function overf(e) {
for (i=0; i<arrTupian.length; i++) {
//注意是点击一张图片应该让所有的图片都移除移动的侦听
arrTupian[i].removeEventListener(Event.ENTER_FRAME ,dongf);
arrTupian[i].removeEventListener(MouseEvent.MOUSE_OVER ,overf); Flash as3.0小实例教程100例实例一利用缓动类实现图片滚动点击放大效果 //缓
动类不在flash包中在fl包中所以
//注意也要把移过函数移除,等下次再调用再添加防止下面的效果还没有达到又开始此函数
}
//此时大图出现
datu=new Pic();
datu.gotoAndStop(arrTupian.indexOf (e.target)+1);
addChild(datu);
datu.x=stage.stageWidth/2;
datu.y=200;
tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,1,3,0.5,true);
//参数从1倍扩大到3倍
tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,1,3,0.5,true);
//参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true 表示为单位为妙false表示为帧 }
function outf(e) {
e.target.removeEventListener(MouseEvent.MOUSE_OVER ,overf);
e.target.removeEventListener(MouseEvent.MOUSE_OVER ,outf);
tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,3,1,0.5,true);。