|
击矩形,在Properties面板中将宽、高、X坐标、Y坐标分别设置为80、80、0、0;新建MC 取名button_action,确定后进入MC编辑窗口,Ctrl L打开Library(库),将刚刚建立的button_body拖进来,同样将X、Y坐标设置为(0,0).
下面开始为BT(按钮)添加AS,选中刚才拖进来的button_body,通过菜单Window Actions或F9键(Flash 5中为Ctrl Alt A)打开Actions面板,利用快捷键Ctrl Shift E(Flash 5 中为Ctrl E,前提是选中了Actions面板)转换到Expert Mode(专家模式,这个模式下编写AS比较灵活,建议使用),填入下面的代码:
on (press) {//按下鼠标 startDrag(_parent, false, 50, 50, 350, 550);//使图块可以在一定范围内被拖拽 } on (release) {//释放鼠标 stopDrag();//停止拖拽 for (i=1; i<=12; i ) {//判断图块所在位置 if (_parent._x<=eval("_root.b" i)._x 40 and _parent._x>=eval("_root.b" i)._x-40 and _parent._y<=eval("_root.b" i)._y 40 and _parent._y>=eval("_root.b" i)._y-40) {//如果被拖拽的图块中心点进入某个判断位置的MC的范围内时 _parent._x = eval("_root.b" i)._x;//设置图块的坐标,使其吸附到相应的位置 _parent._y = eval("_root.b" i)._y; } } }
这样,拖拽组件button_action就制作好了,在下面的制作中将重复用到这个MC.
第五步:制作被拖拽的图块
新建MC,命名为pic1(这个名称无关紧要),确定后进入编辑窗口,在Library中将button_action拖入,设置坐标为(0,0),再从Library中将最初导入的图片pic1.jpg拖入,坐标(0,0),重复这个步骤,直到所有图块都拥有自己相应的MC. 顺便再做一个按钮,命名为button_back,用来在游戏完成后开始新的游戏.
第六步:游戏的完成工作
回到场景中,将TimeLine中已存在的层命名为"位置判断层",点击TimeLine左下角的Insert Layer按钮 ,新建三个层,分别命名为"图块层"、"AS层"和"按钮与提示层".选择"图块层",将Library中的pic1~pic12这几个MC拖入该层。特别注意:这里是MC,而不是图片,我们可以按住Ctrl键同时选择不连续的多个Symbol。按顺序在Properties面板中分别填写Instance Name为p1~p12。
选择"按钮与提示层",将第二帧设为关键帧(如果你使用的是flash 5请选择第四帧,并顺便用F5将"图块层"添加两帧内容帧),并在Properties面板(flash 5中为Frame面板)中填写Frame Label为"over",选择文字工具(A),在中间位置写入胜利后的提示,如:"Good You Win !!",再拖入button_back到合适位置,并捆绑AS:
on(release){ prevFrame();//回到前一帧,开始新游戏 //Flash 5中应该是gotoAndPlay(1) }
现在进入冲刺阶段,选择"AS层",选择第一帧,捆绑AS: stop();//flash 5中请将这句去掉 for (i=1; i<=12; i ) {//游戏初始化 eval("p" i)._x = random(240) 80;//随即设置图块的位置于场景上半部的一定区域内 eval("p" i)._y = random(160) 70; } _root.onEnterFrame = function() {//flash 5中请去掉这句和最后一个"}",将下面的AS捆绑到该层的第二帧,并在第三帧捆绑gotoAnfPlay(2) b = 0; for (j=1; j<=12; j ) { if (eval("p" j)._x == eval("b" j)._x and eval("p" j)._y == eval("b" j)._y) {//判断图块是否在正确的位置上,如果是 b = 1;//变量加一 } } if (b == 12) {//如果所有图块的位置都正确 gotoAndStop("over");//显示胜利信息 } };
至此,拼图游戏就制作完成了,赶快Ctrl Enter测试一下吧!
动动脑筋,还可以为游戏添上时间限制,加大游戏的难度,或者在游戏过程中用一个按钮来隐藏/显示测试图片等
上一页 [1] [2]
|