Flash.as数字拼图游戏代码
flashAS3.0代码
flashAS 3.0 代码(2011-08-09 00:25:34)转载标签:新漫动画代码asf lash杂谈基本Act ion。
包括:- Go to跳转到指定的帧- P lay播放- S top停止- T oggle High Qual ity在高画质和低画质间切换- St op Al l Sou nds停止所有声音的播放- GetURL跳转至某个超联结-FSCom mand发送FSC omman d命令- Load Movi e装载影片- U nload Movi e卸载影片- T ell T arget告知目标- If Fram e IsLoade d..判断帧是否被完全载入- OnMouse Even t鼠标事件<。
其他Act ions。
包括:- b reak跳出循环-call调用指定帧(一般喊有某个特定函数)- co mment注释- c ontin ue继续循环- de lete删除一个对象(Obj ect)中的变量- d o whi le do whil e循环- d uplic ateMo vieCl ip复制MC- el se否则(与if联用)- el se if否则如果(与if联用)- ev aluat e调用自定义函数(Funct ion)-forf or循环-for .. in依次取得对象(Obj ect)中的各个属性或者某个数组中的所有元素- F SComm and发送FSCo mmand命令- fu nctio n声明自定义函数-getUR L跳转至某个超联结- got o跳转到指定的帧-if如果- ifFr ameLo aded..帧是否完全被载入- incl ude读入外部的A ction Scrip t程序文件(.as)- load Movie装载MC- load Varia bles转载外部文件中的数据,这些外部文件可以是文本文件,或者是由A SP/CG I等脚本返回的文本值- on鼠标事件的触发条件- o nClip Event MC的事件触发程序- play播放- p rint输出到打印机- rem oveMo vieCl ip删除MC- re turn在函数(f uncti on)中返回一个值-set v ariab le设定变量值- s etPro perty设定属性- star tDrag开始拖动- stop停止- s topAl lSoun ds停止所有声音的播放- st opDra g停止拖动- swa pDept hs交换两个MC的深度- te llTar get指定Acti on命令生效的目标-toggl eHigh Quali ty在高画质和低画质间切换-trace跟踪调试- unlo adMov ie卸载MC- va r声明局部变量- w hile当..成立时..- w ith对..对象(Objec t)做..<。
Flash_AS2.0代码大全
Flash as2.0代码大全与Flash 制作技巧一、注释// 单行注释符/* */ 多行注释符/*开始,*/结束二、转义字符例1:trace("Hello\n"+"ActionScript"+"2.0") 字符串之间使用运算符+连接 结果输出: HelloActionScript2.0实例:获得系统的事件2:var time = new Date();//创建Date 类的实例(Date 类的实例含系统时间的所有信息);注意var 中的字母v 是小写的。
var yy = time.getFullYear(); var mm = time.getMonth()+1;/*getMonth 比较特殊,它返回的值是0-11之间的数值, 所以必须要加上1*/ var dd = time.getDate();var xq = time.getDay(); //返回值为0,周末 var hh = time.getHours();转义序列\b\f\n\r\t\ " \' \\字符退格符(ASCII8)换页符(ASCII12)换行符(ASCII10)回车符(ASCII13)制表符(ASCII9)双引号 单引号 反斜杠var min = time.getMinutes();var ss = time.getSeconds();trace(yy+"年/\n"+mm+"月\n"+dd+"日\n"+"星期"+xq+"\n"+hh+"点\n"+min+"分\n"+ss+"秒")//换行符号必须在引号里边才可以a=yy+"年"+mm+"月"+dd+"日"+"星期"+xq+hh+"点"+min+"分"+ss+"秒"三、声明方式及获取类型1.变量的声明方式,数字于字符串数字相加的规则数字声明的方式var a:String="12" ; //声明变量a是一个字符串类型,为12var b:Number=34 ; //声明变量b是一个数字字符串类型,为34var c=a+b ; //声明变量c=a+btrace(c); //字符串类型和数字类型的变量相加时,数字型被转换成字符串再相加输出结果:12342.实例:确定变量的数据类型 typeofvar m="12";trace(typeof(m));m=2;trace(typeof(m))输出结果:string number3.改变数据的类型:数字Number()、字符串String()、逻辑是否Boolean、对象数据类Object()、数组Array();var a ="12" ; //声明变量a是一个字符串类型,为12var b=Number(a); //将a转换为数字类型,赋予btrace(typeof(b)+":"+b)输出结果:number:12四、运算符1.点运算符:用来连接对象与嵌套再对象中的子对象,以及访问对象于对象的属性和方法。
FLASH CS4 实战项目——填数字游戏
FLASH CS4 实战项目——填数字游戏在具有交互效果的动画中,一般是通过使用Flash组件与ActionScript来实现的。
本实例首先通过随机生成两个文本框中的数值,然后运用ActionScript中的加减运算、赋值语句和条件语句进行判断所输入的结果是否正确来实现的,如图3-8所示。
图3-8 填数字游戏效果图(1)新建一个520×367像素的空白文档,并创建“背景”层,导入素材图像。
然后新建“填数字游戏”图层,添加“填数字游戏”文本并设置属性,如图3-9所示。
图3-9 导入素材并输入文本(2)新建box1影片剪辑元件。
在创建的“文本”图层中,选择第1帧并添加文本。
然后分别在第2帧和第3帧插入空白关键帧并添加内容,如图3-10所示。
图3-10编辑图层内容(3)新建“输入框”图层,选择其第1帧,执行【窗口】|【组件】命令,从【组件】面板中拖入舞台三个文本框,设置其属性,并将其分别实例化。
然后删除后两帧,如图3-11所示。
图3-11 添加实例化对象(4)新建“按钮”图层,分别在第和第2帧插入按钮组件。
然后在【属性】检查器中,分别设置其实例化名称为okbtnt和backbtn,如图3-12所示。
图3-12 添加实例化对象(5)新建as图层,分别将前3帧转换为关键帧,执行【窗口】|【动作】命令,为各帧添加停止播放代码“stop();”,如图3-13所示。
图3-13 为as图层各帧添加代码(6)单击“场景1”,返回舞台。
新建“组件”图层。
然后把box1元件拖至舞台,并设置其实例化名称为boxContent,如图3-14所示。
图3-14 导入元件并将其实例化(7)新建“动作脚本”图层。
按F9快捷键,打开【动作】面板。
创建输入文本框和按钮中文本样式的变量分别为styl和btnst yle,并设置样式属性。
代码如下:var styl:TextFormat=new TextFormat();//创建输入文本框组件的文本样式styl.size=35;//定义文本的字体大小styl.color=0x000000;//定义文本的字体颜色styl.align=TextFormatAlign.CENTER;//定义文本的对齐方式为居中对齐var btnstyle:TextFormat=new TextFormat();//创建按钮组件的文本样式btnstyle.size=14;//定义文本的字体大小(8)用ActionScript代码定义输入文本框和按钮的样式,并设置输入文本框的编辑方式和初始值等属性。
FLASH CS4 设计拼图游戏
FLASH CS4 设计拼图游戏在本例拼图游戏中,如果拖动的小图片处于正确位置的附近时,释放鼠标即会将图片吸附到该位置上。
当所有的小图片都放置在正确位置时(即拼合成为一张完整的图像),就会提示游戏胜利。
另外,本游戏采用的是外部图片,游戏者可以自定义所要进行拼图的图片,以增强游戏的可玩性。
Flash拼图游戏如图13-24所示。
图13-24 Flash拼图游戏设计过程:(1)新建588×442像素的空白文档,在舞台中制作开始游戏界面,如图13-25所示。
图13-25 制作开始游戏界面(2)新建“猴子”影片剪辑元件,在舞台中制作两只猴子,并将其转换为影片剪辑。
然后,制作猴子上下飘动的动画,如图13-26所示。
图13-26 制作猴子上下飘动动画(3)返回场景,将“猴子”影片剪辑元件拖至舞台中,并为其绘制阴影,如图16-27所示。
图13-27 拖入猴子影片剪辑(4)新建“开始游戏”按钮元件,在舞台中制作按钮弹起、经过和按下的形状,并分别将其转换为影片剪辑元件,如图13-28所示。
图13-28 制作开始游戏按钮(5)返回场景,将“开始游戏”按钮元件拖至舞台的右下角,并设置其【实例名称】为Play_Btn,如图13-29所示。
图13-30 拖入开始游戏按钮(6)新建“背景”影片剪辑元件,在舞台中绘制一个渐变矩形,并在其左上角输入puzzleGame文字。
然后,将该影片剪辑元件导出为bg自定义类,如图13-31所示。
图13-31 制作游戏背景(7)新建“计时器”影片剪辑,在舞台中制作计时器界面,并设置“时间进度条”影片剪辑和动态文本的【实例名称】分别为timebar和Time_txt。
然后,将该影片剪辑导出为time_mc类,如图13-32所示。
图13-32 制作计时器(8)新建“计分器”影片剪辑,在舞台中制作计分器背景,并在其上插入一个动态文本,设置其【实例名称】为Score_txt。
然后,将该影片剪辑元件导出为score_mc,如图13-33所示。
flash as3.0 常用代码
flash as3.0 常用代码1.全屏播放fscommand("fullscreen",true);2.打开时全屏,在该帧停止fscommand("fullscreen",true);stop();3.跳帧播放(从第几针开始播放后)on (press) {gotoAndPlay(?);}4.点击时开始播放on (press) {play();}5.退出语句如果是FLASH自带的控件on (click){ fscommand("quit",""); } 自已做的按钮on (release){ fscommand("quit",""); }6、当鼠标滑过影片剪辑时,停止播放时间轴。
on (rollOver) {_root.stop();}7、当在影片剪辑上按下鼠标时,停止播放影片剪辑。
on (press) {stop();}8、当影片剪辑上松开鼠标时,播放影片剪辑。
on (release) {play();}9、当鼠标滑离影片剪辑时,播放当前时间轴。
on (rollOut) {_root.play();}10、Goto:跳到一个指定的帧(Frame)Scene: 指定SceneFrame:Number,Label,Expression,Next Frame,Previous Frame 可以选择Frame 的编号,标号,通过表达式,下一帧,前一帧Expression: 定义表达式Control:Go to and Play,Go to and Stop 经过选择这个项目来确定到达指定的帧以后是继续播放还是停止例:Go to and Play (1) 跳到第一帧播放Go to Next Frame 跳到下一帧播放Go to and Stop ("intro") 跳到标号为intro 的帧播11、Play:播放Stop:停止Toggle High Quality:切换画面的细节程度Stop All Sounds:停止所有声音Get URL:打开指定的网址URL: 网址Windows:_self,_blank,_parent,_top 打开网址时使用的目标Variables on’t Send,Send use GET,Send use POST 变量的传递方式例:Get URL ("next.asp", window="_blank", vars=POST) 在新窗口中打开next.asp,并且传递参数12、FScommand:调用命令Command: 命令Arguments: 参数For standalone player:fullscreen,allowscale,showmenu,exec,quit 播放器使用的固定命令和参数例:FS Command ("fullscreen", "true") 设置全屏幕播放13、Load/Unload Movie:调入/释放外部的影片Action:Load movie into location,Unload movie from location,Load variables into location: 可以选择是否调入新影片,释放已经调入的影片,调入变量URL:影片的网址Location:Level,Target: 调入的层,或者是某一目标对象的位置Variables on’t Send,Send use GET,Send use POST: 变量的传递方式例子:Load Movie ("test.swf", 1): 把test.swf 调入到第一层Load Movie ("test.swf", "loadit", vars=GET): 把test.swf 调入到loadit 目标对象的位置Unload Movie ("loadit"): 把loadit 目标对象处的影片释放Load Variables ("makeit.asp", 2, vars=GET): 调用makeit.asp 并接收返回的变量14、Tell Target:指定目标对象Target: 目标对象例:Begin Tell Target ("obj") 指定目标对象objEnd Tell Target15、If Frame is Loaded:判断某帧是否调入Scene: 指定场景Frame:Number,Label,Expression: 指定帧,标号或者表达式Expression: 表达式例:If Frame Is Loaded (Scene 1, "end")End Frame Loaded:判断场景一的标号为end 的帧是否调入16、On MouseEvent 鼠标时间响应Event ress,Release,Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Press 各种事件:按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下例:On (Press) 鼠标按下的时候End OnOn (Key: s) 键盘上s 按下的时候End On17、If 判断条件是否成立Condition: 条件Add Else/Else If clause: 加入Else 再次判断例:If (a=10) 如果a=10 那么……End IfIf (a=10) 如果a=10 那么……不然……ElseEnd If18、Loop 循环Condition: 条件例:Loop While (a=10) 如果a=10 那么循环End Loop19、Call 调用函数帧或对象Frame: 函数帧例:Call ("make") 调用make 帧程序20、Set Property 设置属性Set:Y Positon,X Position,Y Scale,XScale,Alpha,Visibility,Rotation,Name,High quality,Show focus rectangle,Sound buffer time 设置y 坐标,x坐标,y 放大倍数,x 放大倍数,透明度,可视否,旋转角度,名称,精细度,焦点矩形框否是显示,声音缓冲的时间(默认5秒)Target: 目标对象value: 值例:Set Property ("aoe", X Position) = "12" 设置目标对象aoe 的x 坐标为12Set Property (Show focus rectangle) = "0" 取消焦点框21、Set Variable 设置变量Variable: 变量value: 值例:Set Variable: "test" = 10 设置test=1022、Duplicate/Remove Movie Clip 复制对象Action uplicate movie clip,Remove duplicate movie clip 可选择是复制还是删除Target: 目标对象New name: 新目标对象的名字Depth: 深度例:Duplicate Movie Clip ("aoe", "aoe2", 1) 复制aoe 一个新的动画,名字叫aoe2Remove Movie Clip ("aoe2") 删除目标对象aoe223、Drag Movie Clip 拖动影片片段Start drag operation: 开始拖动Target: 目标对象Constrain to rectangle:Left,Top,Right,Bottom 鼠标的位置,左上右下Lock mouse to center: 鼠标放置在中心Stop drag operation 停止拖动例:Start Drag ("aoe", L=2, T=3, R=4, B=5) 拖动目标对象aoe,位置在L=2, T=3, R=4, B=5Start Drag ("aoe", lockcenter) 拖动目标对象aoe,位置是在中心Stop Drag 停止拖动24、Trace 跟踪Message: 信息例:Trace ("aoe") 显示aoeTrace (aoe) 显示aoe 的值25、Comment 注释Comment: 注释例子:Comment ("计算") 注释:计算box_btn.onPress=function(){trace("ok");};按钮实例名称.事件处理方法=function(){ //处理程序};例如:n=1box_btn.onRelease=function(){n=n+1trace("n="+n);}当按钮被点一下的时候,Output窗口会输出:"n=2"onClipEvent(load){stop();}上面是影片剪辑的事件处理函数。
Flash as2.0代码大全(最全合集)
Flash as2.0代码大全与Flash制作技巧Flash as2.0代码大全与Flash制作技巧外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0);eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1");mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true); mySound.start(0,100)关闭音乐mySound.stop();链接场景:on (release) {gotoAndStop("猫的历史",1);}外部调用on (release) {loadmovienum("a.swf",1)}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
Flash.as数字拼图游戏代码
Flash.as数字拼图游戏代码Flash .as数字拼图游戏Main.as⽂件package {import flash.display.Sprite;import com.RectShape;import flash.events.MouseEvent;public class Main extends Sprite {private var indexshape:Array =new Array(1,2,3,4,5,6,7,8);private var ditu:Array =new Array(new Array(3),new Array(3),new Array(3));private var pailie:Array =new Array(new Array(0,0),new Array(40,0),new Array(80,0),new Array(0,40),new Array(40,40),new Array(80,40),new Array(0,80),new Array(40,80),new Array(80,80));//将⼀个120的正⽅形切割成9份;public function Main():void {init();}private function init():void {var kuang:Sprite=new Sprite();kuang.graphics.lineStyle(3,0xff000ff);//笔触为3的紫⾊矩形kuang.graphics.drawRect(0,0,120,120);//画边框;kuang.graphics.endFill();kuang.x=215;kuang.y=140;addChild(kuang);for (var i:uint=0; i<3; i++) {//如果这个位置没有⼩⽅块则值设为1;for (var t:uint=0; t<3; t++){ditu[i][t]=1;}}for (var n:uint=1; n<=8; n++) {//制作⼩⽅块;var hao:uint=Math.floor(Math.random()*indexshape.length);//取下限值,hao是下标var bianhao:uint=indexshape[hao];indexshape.splice(hao,1);//删除下标;var rect:RectShape=new RectShape(bianhao);rect.mouseChildren=false;//⼩⽅块中的⽂本不再接收事件:对象的⼦容器为falsevar weizhi:uint=Math.floor(Math.random()*pailie.length);var dui:Array=pailie[weizhi];pailie.splice(weizhi,1);rect.x=dui[0];rect.y=dui[1];rect.X=dui[0]/40;rect.Y=dui[1]/40;kuang.addChild(rect);ditu[dui[0]/40][dui[1]/40]=0;rect.addEventListener(MouseEvent.CLICK,dong);}}private function dong(evt:MouseEvent):void {var left:uint=evt.target.X-1;var right:uint=evt.target.X+1;var up:uint=evt.target.Y-1;var down:uint=evt.target.Y+1;if (left!=4294967295 && ditu[left][evt.target.Y]==1) {//向左移动ditu[evt.target.X][evt.target.Y]=1;ditu[left][evt.target.Y]=0;evt.target.X=left;evt.target.x-=40;//被点击的⽅块像素向左移40;} else if (right!=3 && ditu[right][evt.target.Y]==1) {//向右移动ditu[evt.target.X][evt.target.Y]=1;ditu[right][evt.target.Y]=0;evt.target.X=right;evt.target.x+=40;} else if (up!=4294967295 && ditu[evt.target.X][up]==1) {//向上移动ditu[evt.target.X][evt.target.Y]=1; ditu[evt.target.X][up]=0;evt.target.Y=up;evt.target.y-=40;} else if (down!=3&&ditu[evt.target.X][down]==1) {//向下移动ditu[evt.target.X][evt.target.Y]=1;ditu[evt.target.Y][down]=0;evt.target.Y=down;evt.target.y+=40; }}}}结果:。
用Flash制作拼图游戏,制作flash拼图游戏
用Flash制作拼图游戏,制作flash拼图游戏首先,让我们来构思一下游戏的大致样子:画面上散落着N多块碎图片,透过这些碎图片我们可以隐约看到后面的一块方形的区域,然后在屏幕的右边赫然写着几个大字——简易拼图游戏。
OK,构思完毕,下面我们就开做吧。
一、制作图块1(拼图拼图,没图怎么做拼图呢,所以,我们得先找张图片过来,并将其导入到Flash中。
选择File>Import,导入要做为拼图素材的图片。
2(选中刚刚导入的图片,选择Modify>Transform>Scale,将图片的大小重新进行调整。
3(调整完图片大小后,按Ctrl+B将其打散。
4(选择直线工具,在图片上画个十字,将图片分为四块。
因为本例只是要介绍制作拼图的原理,所以这里就只做四个图块。
5(按Ctrl+Alt+Shift+R,显示标尺,然后从标尺上拉出线重合。
6(按Ctrl+Alt+;锁定引导线。
接着按住Ctrl键然后用鼠标在四条黑线边界的中间拉出一个拐点。
7(再次按住Ctrl键将突起的两端拉回,形成一个小三角(如图1)。
8(使用鼠标将小三角变形成小圆弧(如图2)。
图29(单击选中左上角的那块图片,按F8弹出元件属性对话框。
在Name中输入g1,然后将Behavior选为Graphic,单击OK后将所选图片转化为图形元件g1。
同样地,将剩下的另外三块图片使用同样的方法分别转化为图形元件g2、g3、g4。
然后将刚才用来分割图片的黑线删除。
10(选中g1、g2、g3、g4四个元件,按Ctrl+C拷贝一份。
11(按Ctrl+V将刚才复制的元件粘贴上来。
12(单击选中g1,按F8弹出元件属性对话框。
在Name中输入b将Behavior选为Button,单击OK后将所选元件g1转化为按钮元件b1。
同样地,将剩下的另外三块图片使用同样的方法分别转化为按钮元件b2、b3、b4。
13(单击选中b1,按F8弹出元件属性对话框。
在Name中输入m1,然后将Behavior选为Movie Clip,单击OK后将所选元件b1转化为影片剪辑m1。
FLASH_as3.0常用代码
FLASH as3.0常用代码1.按钮事件(新版)步骤:实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,属性面板里给按钮取名:实例名称bt1 ,右击第一帧,点动作,写代码:bt1.addEventListener(MouseEvent.CLICK ,f1);function f1(evt:MouseEvent){gotoAndPlay(2);}//////////////////////////补充:as2(老版)中的按钮事件实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,右击按钮,点动作,写代码:on (release){ gotoAndPlay(2); }//////////////////////////2.按钮超链接linkButton.addEventListener(MouseEvent.CLICK, gotoAdobeSite);function gotoAdobeSite(event:MouseEvent):void{var adobeURL:URLRequest = new URLRequest("/");navigateToURL(adobeURL);}3.随机数Math.random ()输出时间var time1:Date=new Date(); t1.text=time1.toLocaleTimeString();4.画线1graphics.lineStyle(3,0xff0000,0.3);graphics.moveTo(300,100);graphics.lineTo(200,300);画线2graphics.lineStyle(1,0xff0000,1);for(var i:int=0;i<100;i++){graphics.lineTo(Math.random ()*600,Math.random ()*400);}5. 画三角形var m1:MovieClip = new(MovieClip); //声明一个新的mc类bt1,并用new来构造它m1.graphics.lineStyle(2, 0x990000, .75);//使用bt1的graphics属性设置线条粗细,颜色,透明度m1.graphics.beginFill(0x00FF00);//以下的代码是用graphics画三角形。
Flash_AS2.0代码大全
Flash as2.0代码大全与Flash 制作技巧一、注释// 单行注释符/* */ 多行注释符/*开始,*/结束二、转义字符例1:trace("Hello\n"+"ActionScript"+"2.0") 字符串之间使用运算符+连接 结果输出: HelloActionScript2.0实例:获得系统的事件2:var time = new Date();//创建Date 类的实例(Date 类的实例含系统时间的所有信息);注意var 中的字母v 是小写的。
var yy = time.getFullYear(); var mm = time.getMonth()+1;/*getMonth 比较特殊,它返回的值是0-11之间的数值, 所以必须要加上1*/ var dd = time.getDate();var xq = time.getDay(); //返回值为0,周末 var hh = time.getHours();转义序列\b\f\n\r\t\ " \' \\字符退格符(ASCII8)换页符(ASCII12)换行符(ASCII10)回车符(ASCII13)制表符(ASCII9)双引号 单引号 反斜杠var min = time.getMinutes();var ss = time.getSeconds();trace(yy+"年/\n"+mm+"月\n"+dd+"日\n"+"星期"+xq+"\n"+hh+"点\n"+min+"分\n"+ss+"秒")//换行符号必须在引号里边才可以a=yy+"年"+mm+"月"+dd+"日"+"星期"+xq+hh+"点"+min+"分"+ss+"秒"三、声明方式及获取类型1.变量的声明方式,数字于字符串数字相加的规则数字声明的方式var a:String="12" ; //声明变量a是一个字符串类型,为12var b:Number=34 ; //声明变量b是一个数字字符串类型,为34var c=a+b ; //声明变量c=a+btrace(c); //字符串类型和数字类型的变量相加时,数字型被转换成字符串再相加输出结果:12342.实例:确定变量的数据类型 typeofvar m="12";trace(typeof(m));m=2;trace(typeof(m))输出结果:string number3.改变数据的类型:数字Number()、字符串String()、逻辑是否Boolean、对象数据类Object()、数组Array();var a ="12" ; //声明变量a是一个字符串类型,为12var b=Number(a); //将a转换为数字类型,赋予btrace(typeof(b)+":"+b)输出结果:number:12四、运算符1.点运算符:用来连接对象与嵌套再对象中的子对象,以及访问对象于对象的属性和方法。
flash as常用代码
mySound = new Sound();
mySound.attachSound("1");
mySound.start();
关闭指定音乐
mySound.stop("1");
外部调用音乐
mySound=new Sound();
mySound.loadSound("music.mp3",true);
}
在load事件中,用变量xs和ys取得影片剪辑初始状态下的宽度和高度值。在enterFrame事件中,计算鼠标位置与矩形影片剪辑中心 的距离,算出它与矩形宽度和高度值的比值,然后作为_xscale和_yscale的值。该动画实现移动鼠标位置以改变遮罩效果
5、Array对象(动作面板的“对象”/“核心”目录)即数组,它用来记录成组的相关或相似变量。创建一个空的数组:
mySound.start(0,100)
关闭音乐
mySound.stop();
链接场景:
on (release) {
gotoAndStop("猫的历史",1);
}
清空文本框
_root.text=""
On(Release)
Set Variable:"input" = ""
Set Variable:"output" = ""
if(substring(ss,5,1)<>"7"){getURL("/cn";,_blank);}//'" target="_blank" >/cn",_blank);}//那个7就是版本号
Flash使用bitmapData打造随机凹凸拼图效...-电脑资料
Flash使用bitmapData打造随机凹凸拼图效...-电脑资料随机下午没事做,就弄了个随机切拼图效果,还没做判断,只是个切法的计算,稍后整理下就应该是个成品,嘿嘿~原理主要就是用bitmap进行切图,以前都是用遮照做太占资源.效果如下:主要代码:puzzle.as/** Puzzle CLASS** @ CREATED BY: ycccc8202* @ PURPOSE: 方便制作拼图游戏* @ DATE:2007.6.10* Usage example:* var url:String = "/UploadPic/2007-7/200778135631511.jpg";* var puzzleuzzle = new Puzzle(this, url);* 设置摆放位置* puzzle.setPosition(30, 20);* 设置行/列* puzzle.setRowAndLine(30, 10);*/import com.ycccc.PuzzleGame.MovieClipDrag;import mx.events.EventDispatcher;import flash.display.BitmapData;import flash.geom.Point;import flash.geom.Matrix;import flash.geom.Rectangle;import flash.filters.BevelFilter;class com.ycccc.PuzzleGame.Puzzle {/*** Private members*///////////加载图片长宽///////////private var _imageW:Number;private var _imageH:Number;//////////设置最大宽高///////////private var _imageMaxW:Number = 800; private var _imageMaxH:Number = 500;////////////////////////////////private var dispatchEvent:Function;public var addEventListener:Function; public var removeEventListener:Function; ////////////////////////////////private var _oldURL:String;private var _newURL:String;private var _x:Number;private var _y:Number;private var _row:Number;private var _line:Number;private var _path:MovieClip;private var _imageM:MovieClip;private var _pieceBoard:MovieClip; private var _imageLoader:MovieClipLoader; private var _imageBitmap:BitmapData; private var _pieceW:Number;private var _pieceH:Number;private var _pieceMinWH:Number; private var _pieceD:Number;///////////内切矩形宽高(通过矩形画近似椭圆)///////////private var _pieceOW:Number;private var _pieceOH:Number;///////////////比例系数///////////////private var _pieceD_k:Number = 10;private var _pieceO_k:Number = 4;private var _pieceOWH_k:Number = 3/4;//////////////////////////////////*** Constructor*/public function Puzzle(path:MovieClip, imageLink:String) { EventDispatcher.initialize(this);_path = path;_newURL = imageLink;_imageM = _path.createEmptyMovieClip("imageM", _path.g etNextHighestDepth());_imageLoader = new MovieClipLoader();_imageLoader.addListener(this);loadImage(_newURL);}/*** Public methods*/public function set _url(url:String) {loadImage(url);}public function get _url():String {return _oldURL;}public function set row(r:Number) {_row = r;}public function set line(l:Number) {_line = l;}public function removeAllPiece() {for (var all in _pieceBoard) {_pieceBoard[all].removeMovieClip();}}public function bitmapCut() {pieceSet();removeAllPiece();for (var i:Number = 0; i<_row; i++) {for (var j:Number = 0; j<_line; j++) {var Piece = _pieceBoard.createEmptyMovieClip("iece"+(_line *i+j), _pieceBoard.getNextHighestDepth());Piece.beginBitmapFill(_imageBitmap, new Matrix(1, 0, 0, 1, -j*_pieceW, -i*_pieceH), true, true);Piece._x = j*_pieceW;Piece._y = i*_pieceH;Piece.i = i;Piece.j = j;new MovieClipDrag(Piece);drawPiece(Piece, getAllDotArray(Piece));//画小块形状Piece.filters = [new BevelFilter(3, 30)];}}public function setMaxWH(w:Number, h:Number) {//设置允许的最大宽高_imageMaxW = w;_imageMaxH = h;}public function setRowAndLine(row:Number, line:Number) { //设置切割的行/列if (row<=0 || line<=0) {trace("行/列不能为0,按默认10*10进行切图");return;}if (row*line>900) {trace("数量太大,运算困难,按默认10*10进行切图");return;}_row = row;_line = line;}public function setPosition(x:Number, y:Number) {//设置if (x<0 || y<0) {trace("超出场景范围,按默认(0,0)位置进行摆放");return;}_x = x;_y = y;if (_pieceBoard<>undefined) {_pieceBoard._x = _x;_pieceBoard._y = _y;}public function getPieceBoard():MovieClip {//取得碎片载体return _pieceBoard;}public function toString():String {return "uzzle::凹凸形状的拼图切割";}/*** Private methods*/private function loadImage(url:String) {_newURL = url;try {_imageLoader.loadClip(_newURL, _imageM);} catch (e:Error) {trace(e);}}private function onLoadStart(target:MovieClip) {target._visible = false;dispatchEvent({type:"onStart", target:this});}private function onLoadError(target:MovieClip, errorCode:St ring) {dispatchEvent({type:"onError", target:this});trace("errorCode:"+errorCode);trace("出错,继续读取上张图片");_newURL = _oldURL;loadImage(_newURL);}private function onLoadInit(target:MovieClip) {dispatchEvent({type:"onInit", target:this});_oldURL = _newURL;if (target._width<10 || target._height<10) {throw new Error("图片太小,不适合切割!");}if (isNaN(_imageMaxW+_imageMaxH)) {_imageMaxW = _imageMaxH=600;}if (isNaN(_row+_line)) {_row = 10;_line = 10;}_imageW = target._width>_imageMaxW ? _imageMaxW : ta rget._width;_imageH = target._height>_imageMaxH ? _imageMaxH : tar get._height;_pieceBoard.removeMovieClip();mcT oBitmap(target);}private function mcToBitmap(mc:MovieClip) {_imageBitmap = new BitmapData(_imageW, _imageH, true, 0x00ffffff);_imageBitmap.draw(mc);//隐藏掉_pieceBoard = _path.createEmptyMovieClip("pieceBoard", _ path.getNextHighestDepth());_pieceBoard._x = _x;_pieceBoard._y = _y;bitmapCut();}private function pieceSet() {_pieceW = _imageW/_line;_pieceH = _imageH/_row;_pieceMinWH = Math.min(_pieceW, _pieceH);_pieceD = _pieceMinWH/_pieceD_k;_pieceOW = _pieceMinWH/_pieceO_k;_pieceOH = _pieceOW/_pieceOWH_k;}private function getRndD():Number {//返回与边界错开的高度return _pieceD-Math.random()*2*_pieceD;}private function drawPiece(mc:MovieClip, dotArr:Array):Void {with (mc) {lineStyle(0);moveTo(0, 0);for (var k:Number = 0; k<dotarr.length; k++) {<p=""></dotarr.length; k++) {<>if (dotArr[k].x<>undefined) {lineTo(dotArr[k].x, dotArr[k].y);} else {curveT o(dotArr[k][0].x, dotArr[k][0].y, dotArr[k][1].x, dotArr[k ][1].y);}}endFill();}}private function getOvalDotArray(mc:MovieClip, position:Str ing):Array {var rnd:Number = random(2) ? 1 : -1;var circleDotArr:Array = [];switch (position) {case "right" :var a0oint = new Point(_pieceW+getRndD(), (_pieceH-_pieceOW)/2+_pieceOW/4-Math.random()*_pieceOW/2);var a1:Array = [new Point(a0.x+rnd*(_pieceOH/2), a0.y-_pieceOW/2), new Point(a0.x+rnd*_pieceOH, a0.y)];var a2:Array = [new Point(a0.x+rnd*(_pieceOH+_pieceOW/3 ), a0.y+_pieceOW/2), new Point(a0.x+rnd*_pieceOH, a0.y+_piec eOW)];var a3:Array = [new Point(a0.x+rnd*_pieceOH/2, a0.y+_piec eOW+_pieceOW/2), new Point(a0.x, a0.y+_pieceOW)];circleDotArr = [a0, a1, a2, a3];break;case "down" :var a0oint = new Point(_pieceW-((_pieceW-_pieceOW)/2+_pieceOW/4-Math.random()*_pieceOW/2), _pieceH+getRndD());var a1:Array = [new Point(a0.x+_pieceOW/2, a0.y+rnd*(_pie ceOH/2)), new Point(a0.x, a0.y+rnd*_pieceOH)];var a2:Array = [new Point(a0.x-_pieceOW/2, a0.y+rnd*(_pieceOH+_pieceOW/3)), new Point(a0.x -_pieceOW, a0.y+rnd*_pieceOH)];var a3:Array = [new Point(a0.x-_pieceOW-_pieceOW/2, a0.y+rnd*_pieceOH/2), new Point(a0.x-_pieceOW, a0.y)];circleDotArr = [a0, a1, a2, a3];break;}return circleDotArr;}private function getAllDotArray(mc:MovieClip):Array {var allDotArray:Array = [];//a,b,c,d四面if (mc.i == 0) {mc.a = [];} else {var tempArray:Array = mc._parent["iece"+(Number(mc._na me.substr(5))-_line)].c;var a:Array = new Array(4);a[0] = new Point(tempArray[3][1].x, tempArray[3][1].y-_pieceH);a[1] = [new Point(tempArray[3][0].x, tempArray[3][0].y-_pieceH), new Point(tempArray[2][1].x, tempArray[2][1].y-_pieceH)];a[2] = [new Point(tempArray[2][0].x, tempArray[2][0].y-_pieceH), new Point(tempArray[1][1].x, tempArray[1][1].y-_pieceH)];a[3] = [new Point(tempArray[1][0].x, tempArray[1][0].y-_pieceH), new Point(tempArray[0].x, tempArray[0].y-_pieceH)];mc.a = a;}if (mc.j == 0) {mc.d = [];} else {var tempArray:Array = mc._parent["Piece"+(Number(mc._na me.substr(5))-1)].b;var a:Array = new Array(4);a[0] = new Point(tempArray[3][1].x-_pieceW, tempArray[3][1].y);a[1] = [new Point(tempArray[3][0].x-_pieceW, tempArray[3][0].y), new Point(tempArray[2][1].x-_pieceW, tempArray[2][1].y)];a[2] = [new Point(tempArray[2][0].x-_pieceW, tempArray[2][0].y), new Point(tempArray[1][1].x-_pieceW, tempArray[1][1].y)];a[3] = [new Point(tempArray[1][0].x-_pieceW, tempArray[1][0].y), new Point(tempArray[0].x-_pieceW, tempArray[0].y)];mc.d = a;}if (mc.i == _row-1) {mc.c = [];} else {mc.c = getOvalDotArray(mc, "down");}if (mc.j == _line-1) {mc.b = [];} else {mc.b = getOvalDotArray(mc, "right");}allDotArray = allDotArray.concat(mc.a);allDotArray.push(new Point(_pieceW, 0));allDotArray = allDotArray.concat(mc.b);allDotArray.push(new Point(_pieceW, _pieceH));allDotArray = allDotArray.concat(mc.c);allDotArray.push(new Point(0, _pieceH));allDotArray = allDotArray.concat(mc.d);return allDotArray;}}//切的方法见图所示,算法中加些随机数值就能产生随机效果了//主要难点可能只在如何切椭圆,这里通过矩形边界外加上控制点来进行curveTo画曲线,形成个椭圆状PS:::压缩包中的Puzzle.exe 支持文本框中填本地图片和网络图片地址 : ),介于安全沙漏问题,只能打包成exe才方便调取网络图片~附件下载:Puzzel.rar。
FLASH CS3 实例 拼图游戏
FLASH CS3 实例拼图游戏拼图游戏是通过鼠标拖动裁切的小图片,将其放置到拼图框中,以组成一幅完整的图片。
如果拖动的小图片处于正确位置附近时,即会自动被吸附到正确位置。
当所有小图片都放置到拼图框中且位置正确,就会宣布游戏胜利。
另外,该拼图游戏中的图片是调用的外部图片,所以可以自行更改拼图图片,以增强游戏的可玩性。
如图12-60所示。
图12-60 拼图游戏准备游戏元素利用【矩形工具】绘制黑色调的游戏机外壳,通过在【颜色】面板中设置渐变填充色,并调整填充效果形成绿色的显示屏、白色玻璃罩等十分逼真的游戏机外形。
(1)在空白的文档中,将BG.jpg背景图像导入到舞台中,并设置文档尺寸的大小与图像大小相同,如图12-61所示。
图12-61 导入背景图像(2)使用【基本矩形工具】和【线条工具】绘制游戏机的外形,并通过【颜料桶工具】为其填充渐变色,如图12-62所示。
图12-62 绘制圆角矩形填充完渐变色后,可以通过【渐变变形工具】调整渐变颜色。
(3)在外壳的中间部分绘制一个白色矩形,通过【选择工具】调整其四个角。
然后,为其填充白色透明渐变,如图12-63所示。
图12-63 绘制高光效果(4)新建“roll”影片剪辑,在2个图层中分别绘制彩条和矩形,然后创建遮罩动画,如图12-64所示。
图12-64 创建彩条滚动动画(5)返回场景。
将“roll”影片剪辑拖入到舞台中,并在游戏机外壳下面绘制灰色渐变矩形,如图12-65所示。
图12-65 绘制矩形(6)使用【矩形工具】绘制两个圆角矩形,分别设置颜色为#212F0B和#AAED45。
然后,将两个矩形重叠,形成游戏面的显示屏,如图12-66所示。
图12-66 绘制显示屏(7)利用【线条工具】在最底层矩形左边的上下两缺口之间绘制装饰用的图形。
然后,复制并旋转该图形,将其放置在矩形右边,如图12-67所示。
图12-67 绘制装饰物(8)在舞台中绘制一个白色的矩形,在【颜色】面板中设置其为渐变透明,该矩形为游戏机的玻璃罩,如图12-68所示。
FLASH-as3.0常用代码
FLASH as3.0常用代码1.按钮事件(新版)步骤:实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,属性面板里给按钮取名:实例名称bt1 ,右击第一帧,点动作,写代码:bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){gotoAndPlay(2);}//////////////////////////补充:as2(老版)中的按钮事件实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,右击按钮,点动作,写代码:on (release){ gotoAndPlay(2); }//////////////////////////2.按钮超链接linkButton.addEventListener(MouseEvent.CLICK, gotoAdobeSite);function gotoAdobeSite(event:MouseEvent):void {var adobeURL:URLRequest = new URLRequest("");navigateToURL(adobeURL);}3.随机数Math.random ()输出时间var time1:Date=new Date(); t1.text=time1.toLocaleTimeString(); 4.画线1graphics.lineStyle(3,0xff0000,0.3);graphics.moveTo(300,100);graphics.lineTo(200,300);画线2graphics.lineStyle(1,0xff0000,1);for(var i:int=0;i<100;i++){graphics.lineTo(Math.random()*600,Math.random ()*400);}5. 画三角形var m1:MovieClip = new(MovieClip); //声明一个新的mc类bt1,并用new来构造它m1.graphics.lineStyle(2, 0x990000, .75);//使用bt1的graphics属性设置线条粗细,颜色,透明度m1.graphics.beginFill(0x00FF00);//以下的代码是用graphics画三角形。
滑动拼图-AS3游戏编程大学
滑动拼图———Sliding Puzzle游戏玩法:这是一个拼图游戏,游戏的开始会在一个完整的图案上留下一个空缺的格子,玩家通过移动这个空缺周围的拼图来最终完成图案。
游戏主要思路:一、先是将一幅外部的图像导入,然后进行将其进行切分。
所谓的切分就是将其代表不同块的区域的复制给一个一个的Sprite。
二、将块打乱顺序三、然后为每一个Sprite加侦听器响应玩家点击。
四、实时判断是否游戏结束准备工作:元件:只需准备一张外部图像文件名为“slidingimage.jpg”舞台设置:一共有三帧。
第一帧:有一个开始按钮,实例名为startButton,帧代码为stop();startButton.addEventListener(MouseEvent.CLICK,clickStart);function clickStart(event:MouseEvent) {gotoAndStop("play");}很容易理解,点击跳到第二帧,即游戏开始帧。
第二帧:帧代码为startSlidingPuzzle();即调用游戏主函数开始游戏。
第三帧:有一个重玩按钮,实例名为playAgainButton,帧代码为playAgainButton.addEventListener(MouseEvent.CLICK,clickPlayAgain);function clickPlayAgain(event:MouseEvent) {gotoAndStop("play");}点击重新开始游戏类文件的编写此游戏只有一个主类为SlidingPuzzle继承自MovieClippackage {//导入需要的包import flash.display.*;import flash.events.*;import .URLRequest;import flash.geom.*;//这个包有我们后面用到的Point类import flash.utils.Timer;public class SlidingPuzzle extends MovieClip {static const pieceSpace:Number = 2;//定义了块之间的间距static const horizOffset:Number = 50;//定义了水平的偏移static const vertOffset:Number = 50;//定义了垂直的偏移// 定义了水平方向和垂直方向的块数量static const numPiecesHoriz:int = 4;static const numPiecesV ert:int = 3;// 这个是游戏乱序过程模拟的步数static const numShuffle:int = 200;// 块滑动动画的步数和时间static const slideSteps:int = 10;static const slideTime:int = 250;// 块的尺寸,由于要根据图片的大小定,所以未赋值private var pieceWidth:Number;private var pieceHeight:Number;// 一个用来存块对象引用的数组private var puzzleObjects:Array;// 有关块移动的变量private var blankPoint:Point;//空白块的坐标private var slidingPiece:Object;//当前移动的块对象private var slideDirection:Point;//块移动的点private var slideAnimation:Timer;//移动动画的计时器//定义游戏开始函数public function startSlidingPuzzle() {// 取整个图片最右下角的块为空白blankPoint = new Point(numPiecesHoriz-1,numPiecesV ert-1);// 加载图片loadBitmap("slidingimage.jpg");}// 定义加载函数public function loadBitmap(bitmapFile:String) {//参数为字符串类型用来接收图片文件名var loader:Loader = new Loader();//定义Loader类loader.contentLoaderInfo.addEventListener(PLETE, loadingDone);//对Load类加侦听器,当加载完成时执行loadingDone函数。
Flash游戏制作常用代码解析
往链点点通共享资源,了解更多请登录目录Flash游戏制作常用代码解析 (3)FLASH游戏制作基础:响应键盘的四种方法 (9)Flash游戏制作--空战 (12)Flash飞行游戏制作全解 (19)Flash游戏制作--迷宮 (29)Flash游戏制作规划与流程漫谈 (36)用Flash制作互动的小人 (45)常见的飞机发射子弹的控制 (49)一个完全使用AS2编制的飞机游戏之制作详解 (50)Flash游戏制作常用代码解析1.获取随机数随机函数在flash游戏制作中很常用,例如在拼图游戏中,每次开始新的游戏时可以利用随机函数使图块获得新的位置,试想一个千篇一律的游戏谁会有兴趣玩下去。
现在我们有两种产生随机数的方式:random()和Math.random(),举例来讲,如果我们相随机赋给x一个0-5的数,我们可以使用x=random(6)或者x=Math.random()*5。
但这两种方式产生的随机数是有区别的,用random(6)方法返回的x是0<=x<=5的整数,而另外一种返回的x 则是0<=x<5的小数。
试着在第一帧中写入下面的AS,并在第二帧创建内容帧以形成循环:x = random(6);y = Math.random()*5;trace("x="+x+",y="+y);在output窗口中将得到以下数据:...x=1,y=3.66887632058933x=2,y=4.39878350123763x=0,y=0.522367884404957x=3,y=2.95675310306251x=5,y=4.03038211166859x=2,y=0.223042098805308...区别一目了然。
2.获得鼠标及MC(MovieClip)的位置另外一个在flash游戏制作使用频率比较高的参数就是坐标了,鼠标的坐标和MC的坐标的获得方式是不同的,鼠标的坐标可以用_xmouse和_ymouse获得,MC的坐标可以用MovieClip._x和MovieClip._y获得。
怎么用flash制作简单拼图游戏
怎么用flash制作简单拼图游戏怎么用flash制作简单拼图游戏可能有很多玩Flash的朋友都曾和我一样想自己动手制作一个拼图游戏,但是苦于不知道实现的方法或不了解ActionScript(以下简称AS)而心存遗憾。
别急,今天店铺就告诉你如何利用Flash常用的AS制作一个简单的拼图游戏,店铺所说的简单可不是将图片简单的拼凑到一起的那种简单拼图啊。
做好的成品如下:大家可以用鼠标将上面的图像碎片拖到下面的方框内的合适位置,为方便大家找位,游戏给出了有一定透明度的原图作为参考。
大家可以发现这个游戏还设计了一个“吸附”功能,能够让你将拼图片轻松地整齐排列,同时游戏还会自动判断拼图是否全部正确完成。
第一步:图片的准备工作既然是拼图,当然首先就要有图片了,我找到的是一幅320*240象素的jpg图片,通过Fireworks将其切割成12块(每块80*80px),然后分别保存成12个jpg小图片备用,名称最好有一定规律,比如我将他们分别命名为pic1~pic12,当然你也可以利用其他图象处理工具来实现这一步。
第二步:建立Flash文件打开今天的主角――Flash,通过菜单Modify Document...或Ctrl+J 打开Document Properties面板(由于盗匪使用的'是Flash MX,一些快捷键可能与Flash 5的有所不同,不过盗匪会尽量给出Flash 5中相应的快捷键的,这个在Flash 5中的快捷键是Ctrl+M),将画面大小改为400*600px,其他可以保持默认值。
第三步:制作用来判断位置的Movie Clip在场景中通过菜单File Import或Ctrl+R导入12块已经处理好的小图片,然后按照原图顺序摆放在场景的下半部,选中左上角第一块,选择菜单Insert Convert to Symbol或按F8键,在弹出的Convert to symbol面板中选择Movie Clip(以后简称MC),控制点选择在图片中心(这一点很重要,Flash 5中可能没有这个选项,不过好在Flash 5的默认值就是中心),name为check1(也可以根据自己的习惯取名),其余的图片用同样的方法处理。
拼图代码
制作步骤:
第一步:图片的准备工作
既然是拼图,当然首先就要有图片了,我找到的是一幅320*240象素的jpg图片,通过Fireworks将其切割成12块(每块80*80px),然后分别保存成12个jpg小图片备用,名称最好有一定规律,比如我将他们分别命名为pic1~pic12,当然你也可以利用其他图象处理工具来实现这一步。
然后选择菜单Window Properties或Ctrl+F3,打开Properties面板,按顺序为这些图片分别填写Instance Name为b1~b12,以便以后在Action中调用.选中所有MC(Ctrl+A),将他们的Alpha属性设置为30%,这样做只是为了使MC看上去模糊,让玩家不能清楚地辨认出是哪部分,以增大游戏难度。
第三步:制作用来判断位置的Movie Clip
在场景中通过菜单File Import或Ctrl+R导入12块已经处理好的小图片,然后按照原图顺序摆放在场景的下半部,选中左上角第一块,选择菜单Insert Convert to Symbol或按F8键,在弹出的Convert to symbol面板中选择Movie Clip(以后简称MC),控制点选择在图片中心(这一点很重要,Flash 5中可能没有这个选项,不过好在Flash 5的默认值就是中心),name为check1(也可以根据自己的习惯取名),其余的图片用同样的方法处理。
on(release){
prevFrame();//回到前一帧,开始新游戏
//Flash 5中应该是gotoAndPlay(1)
}
现在进入冲刺阶段,选择"AS层",选择第一帧,捆绑AS:
stop();//flash 5中请将这句去掉
FLASH-as3.0常用代码
FLASH as3.0常用代码1.按钮事件(新版)步骤:实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,属性面板里给按钮取名:实例名称bt1 ,右击第一帧,点动作,写代码:bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){gotoAndPlay(2);}//////////////////////////补充:as2(老版)中的按钮事件实现第一帧暂停:右击第一帧,点动作,写代码stop();实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,右击按钮,点动作,写代码:on (release){ gotoAndPlay(2); }//////////////////////////2.按钮超链接linkButton.addEventListener(MouseEvent.CLICK, gotoAdobeSite);function gotoAdobeSite(event:MouseEvent):void {var adobeURL:URLRequest = new URLRequest("");navigateToURL(adobeURL);}3.随机数Math.random ()输出时间var time1:Date=new Date(); t1.text=time1.toLocaleTimeString(); 4.画线1graphics.lineStyle(3,0xff0000,0.3);graphics.moveTo(300,100);graphics.lineTo(200,300);画线2graphics.lineStyle(1,0xff0000,1);for(var i:int=0;i<100;i++){graphics.lineTo(Math.random()*600,Math.random ()*400);}5. 画三角形var m1:MovieClip = new(MovieClip); //声明一个新的mc类bt1,并用new来构造它m1.graphics.lineStyle(2, 0x990000, .75);//使用bt1的graphics属性设置线条粗细,颜色,透明度m1.graphics.beginFill(0x00FF00);//以下的代码是用graphics画三角形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash .as数字拼图游戏
Main.as文件
package {
import flash.display.Sprite;
import com.RectShape;
import flash.events.MouseEvent;
public class Main extends Sprite {
private var indexshape:Array =new Array(1,2,3,4,5,6,7,8);
private var ditu:Array =new Array(new Array(3),new Array(3),new Array(3));
private var pailie:Array =new Array(new Array(0,0),new Array(40,0),new Array(80,0),new Array(0,40),new Array(40,40),new Array(80,40),new Array(0,80),new Array(40,80),new Array(80,80));
//将一个120的正方形切割成9份;
public function Main():void {
init();
}
private function init():void {
var kuang:Sprite=new Sprite();
kuang.graphics.lineStyle(3,0xff000ff);//笔触为3的紫色矩形
kuang.graphics.drawRect(0,0,120,120);//画边框;
kuang.graphics.endFill();
kuang.x=215;
kuang.y=140;
addChild(kuang);
for (var i:uint=0; i<3; i++) {//如果这个位置没有小方块则值设为1;
for (var t:uint=0; t<3; t++){
ditu[i][t]=1;
}
}
for (var n:uint=1; n<=8; n++) {//制作小方块;
var hao:uint=Math.floor(Math.random()*indexshape.length);//取下限值,hao是下标
var bianhao:uint=indexshape[hao];
indexshape.splice(hao,1);//删除下标;
var rect:RectShape=new RectShape(bianhao);
rect.mouseChildren=false;//小方块中的文本不再接收事件:对象的子容器为false
var weizhi:uint=Math.floor(Math.random()*pailie.length);
var dui:Array=pailie[weizhi];
pailie.splice(weizhi,1);
rect.x=dui[0];
rect.y=dui[1];
rect.X=dui[0]/40;
rect.Y=dui[1]/40;
kuang.addChild(rect);
ditu[dui[0]/40][dui[1]/40]=0;
rect.addEventListener(MouseEvent.CLICK,dong);
}
}
private function dong(evt:MouseEvent):void {
var left:uint=evt.target.X-1;
var right:uint=evt.target.X+1;
var up:uint=evt.target.Y-1;
var down:uint=evt.target.Y+1;
if (left!=4294967295 && ditu[left][evt.target.Y]==1) {//向左移动
ditu[evt.target.X][evt.target.Y]=1;
ditu[left][evt.target.Y]=0;
evt.target.X=left;
evt.target.x-=40;//被点击的方块像素向左移40;
} else if (right!=3 && ditu[right][evt.target.Y]==1) {//向右移动
ditu[evt.target.X][evt.target.Y]=1;
ditu[right][evt.target.Y]=0;
evt.target.X=right;
evt.target.x+=40;
} else if (up!=4294967295 && ditu[evt.target.X][up]==1) {//向上移动ditu[evt.target.X][evt.target.Y]=1;
ditu[evt.target.X][up]=0;
evt.target.Y=up;
evt.target.y-=40;
} else if (down!=3&&ditu[evt.target.X][down]==1) {//向下移动
ditu[evt.target.X][evt.target.Y]=1;
ditu[evt.target.Y][down]=0;
evt.target.Y=down;
evt.target.y+=40;
}
}
}
}
结果:。