开启左侧

写了一个拼图游戏的教程

[复制链接]
koala 发表于 2008-10-24 16:35:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
今天写了一个简单的教程【版本FL8.0 (AS2.0)】,初级学者能看懂的顶一下。
用FL做一个拼图的游戏。
关键词:hitTest、startDrag
一、hitTest()的用法
(1)my_mc.hitTest(x,y,shapeFlag)
参数:
x:舞台上单击区域的x坐标
y:舞台上单击区域的x坐标
shapeFlag:一个布尔值,指定是计算机指定实例的整个形状(true)还是仅计算边框(false)
。只有当用x和y坐标参数识别单击区域时,才可以指定该参数。
(2)my_mc.hitTest(target)
target:可能与由my_mc指定的实例交叉或重叠的单击区域的目标路径target参数通常表示一个按
钮或文本输入字段。
下面的示例使用带有_xmouse和_ymouse属性的hitText()来确定鼠标指针是否位于目标的边框
方:
if(hitText(_root._xmouse,_root._ymouse,false));
二、startDrag()的用法
startDrag(target,[lock,left,top,right,bottom])
target:要拖动的影片剪辑的目标路径。
lock:一个布尔值,指定可拖动影片剪辑是锁定到鼠标的位置中央(true),还是锁定到用户首次
单击该影片剪辑的位置上(false)。此参数是可选的。
left,top,right,bottom:相对于影片剪辑父级坐标的值,这些值指定该影片剪辑的约束矩形。
这些参数是可选的。
说明:一次只能拖动一个影片剪辑。执行了startDrag()操作后,影片剪辑将保持可拖动的状态,
直到用stopDrag()明确停止拖动为止,或直到对其它影片剪辑调用了stopDrag()动作为止。

开始动手制作做一个拼图的游戏:
原理:一一对应的两个影片剪辑m1和p1,m2和p2,m3和p3……
m1用来记录p1正确的位置的坐标的影片剪辑,在场景中放于合适的位置
p1是用户拖动到合适的位置的影片剪辑,在场景中置于任意位置
m2、m3……mn与m1同理
p2、p3……pn与p1同理

以下是写三个作为例子,有n个就写n个。
在帧上写代码:
m1._visible=false;
m2._visible=false;
m3._visible=false;//使m1、m2、m3不可视
x1 = p1._x;  y1 = p1._y;
x2 = p2._x;  y2 = p2._y;
x3 = p3._x;  y3 = p3._y;
        tx1 = m1._x;            ty1 = m1._y;
        tx2 = m2._x;            ty2 = m2._y;
tx3 = m3._x;            ty3 = m3._y;
//保存所有instance的坐标位置

在影片剪辑p1上写代码:
onClipEvent (mouseDown) {
if (hitTest(_root._xmouse, _root._ymouse, false)) {
  startDrag(this, true);//鼠标按下该影片剪辑时,如果鼠标指针位于p1的边框上方,则拖动该影片剪辑
}
}
onClipEvent (mouseUp) {
stopDrag();
if (this.hitTest(this._parent.m1)) {
  _x = _root.tx1;
  _y = _root.ty1;//鼠标松开则停止拖动该影片剪辑,如果碰到了m1,则使它位于m1的位置
} else {
  _x = _root.x1;
  _y = _root.y1;//否则使它回到原来的位置
}
}
p2、p3影片剪辑上的代码依此类推……
延伸:利用这样的拼图游戏,我们可以做一些课件比如将正确的答案拖动到正确的位置,重新排列顺序
,化学课件里经常会用到的将试验的器材重新组装等等。

[ 本帖最后由 koala 于 2008-10-24 16:40 编辑 ]
参与人数 1威望 +5 金钱 +5 贡献 +5 收起 理由
etthink + 5 + 5 + 5 精品文章

查看全部评分总评分 : 威望 +5 金钱 +5 贡献 +5

欢迎大家多发帖,参与讨论,增进彼此了解。

精彩评论2

正序浏览
koala 发表于 2008-10-24 16:38:57 | 显示全部楼层
:victory: 我学的是FL8,脚本AS2.0,对于AS3.0不是很了解。
不过,我觉得如果不是开发游戏的,AS2.0就够用了。
个人见解而已。
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| yicunge 发表于 2008-10-29 11:28:28 | 显示全部楼层
:victory: 好才女啊
欢迎大家多发帖,参与讨论,增进彼此了解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

22帖子

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )