键盘拼图游戏制作心得

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

键盘拼图游戏制作心得

为了提高学生键盘盲打的兴趣,我做了个flash键盘拼图的小游戏。其中尝试用了hit()触发命令,发现效果不错,它可以解决交互中很多问题。

先来看看我的制作过程吧!

设计思路:

目的:让学生能够拖动散落在地上的“键盘子”,并将它们放入到键盘相应的位置,如果正确靠近触碰就吸附,如果不正确就返回原来位置。当全部正确就显示表扬。

设计步骤:

一、故事情景导入:灰太狼追逐喜羊羊们,碰撞键盘,散落了一些“键盘子”。这些简单动过就不详细了。如图所示

二、用鼠标能拖动或放下“键盘子”。这里我用了startDrag和stopDrag

首先将每一个掉下来的“键盘子”都设置为影片剪辑,并多复制一个(将多复制的影片剪辑设为完全透明,并潜伏在各自正确的位置,备用)。

然后在这些影片剪辑上加上actionscript命令

onClipEvent (mouseDown){

if(hitTest(_root._xmouse,_root._ymouse,false)){

startDrag("",true);

x=this._x;

y=this._y;

}

}

表示任意拖动某个“键盘子”。

在写入这个命令

onClipEvent (mouseUp){

stopDrag();

}

}

表示放下这个“键盘子”

三、判断是否正确碰触,并确定位置。

onClipEvent (mouseUp){ //鼠标放下

stopDrag(); //释放元件

if(!hitTest(_root.p1)){ //如果没有碰到p1(p1这个键盘子对应的隐形元件) this._x=x; //返回到原来的位置的x坐标

this._y=y; //返回到原来的位置的y坐标

}else{ //否则,如果碰到p1

this._x=_root.p1._x; //和P1的x坐标重合

this._y=_root.p1._y; //和P1的y坐标重合

}

}

四、统计正确触碰的次数

设定一个计数变量jieguo,没正确一次就加1。Jieguo=jieguo+1 if(hitTest(_root._xmouse,_root._ymouse,false)){

//如果鼠标指针的坐标位置与当前的影片剪辑实例重叠

_root.jieguo = _root.jieguo+1;

//用变量"jieguo"统计正确拖动图像块的次数

五、显示表扬语句“你好棒哦”

在主界面制作一个动态文本框,设定其变量为xianshi

再加入命令

if(_root.jieguo==8){

_root.xianshi="你好棒哦!";

//给输出文本框变量赋值

通过类似的方法制作其它几个“键盘子”的actionScript命令,就可以完成。

整合一下如下:

onClipEvent (mouseDown){

//按下鼠标

if(hitTest(_root._xmouse,_root._ymouse,false)){

startDrag("",true); //拖动当前的“键盘子”

x=this._x;

y=this._y;

}

}

onClipEvent (mouseUp){ //鼠标放下

stopDrag(); //释放元件

if(!hitTest(_root.p1)){ //如果没有碰到p1(p1这个键盘子对应的隐形元件) this._x=x; //返回到原来的位置的x坐标

this._y=y; //返回到原来的位置的y坐标

}else{ //否则,如果碰到p1

this._x=_root.p1._x; //和P1的x坐标重合

this._y=_root.p1._y; //和P1的y坐标重合

if(hitTest(_root._xmouse,_root._ymouse,false)){

//如果鼠标指针的坐标位置与当前的影片剪辑实例重叠

_root.jieguo = _root.jieguo+1;

//用变量"jieguo"统计正确拖动图像块的次数

}

}

if(_root.jieguo==8){

_root.xianshi="你好棒哦!";

//给输出文本框变量赋值

}

在这个游戏中,hit()命令很重要,原理是通过隐身的元件1来固定位置A,然后用鼠标拖动元件2,直到元件2碰撞到元件1,则使得位置变化的元件2有了正确的位置A。

这种放法的灵活性在于隐身元件1的位置、形状、大小可以变化无常,比起我以前用的固定坐标法要先进很多,固定坐标法是指,通过数值固定一个矩形的区域,当鼠标的坐标在这个区域里面的时候就吸附,所以这个区域永远是矩形的,固定的范围,变化起来相当复杂。而通过隐身元件事情就变得简单了,元件是什么形状,触碰区域就是什么形状,元件是什么位置触碰点就在什么位置。有了这个hit()以后还可以制作打气球,填颜色,敲地鼠,配衣服等等小游戏了。感觉收获很大。

相关文档
最新文档