永不重合的小球,简单的Action
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-12
从进入了Flash8这个论坛我学到了很多不属于我的东西,因为一些原因我要回山里去,为了感谢论坛里每个人的教程、每个人的问题、每个人的回答,因为就是这些让我学到了宝贵的东西。我也想为论坛略尽绵力。这是我自己写的一个小教程,我也是从书里学的。 希望能对像我一样的初学者有所帮助。 互相排斥的小球 点击浏览该文件 点击浏览该文件 这个动画是将界面的两个小球永远不重合。用一个小球代替鼠标移动[鼠标本身隐藏],当这个小球靠近界面的另一个小球时,另一个小球自动被弹开。 1、打开Flash ,新建一影片剪辑元件画一个小球。 2、回到场景点图层1的第一帖。 3、把元件库打开。把刚做好的小球从元件库拖到场景中,现在场景中有一个了吧,把这个元件从元件库里再拖一次到场景,好了有两面个了。那你把其中的一个用变形工具调小一点,现在场景中就有一大一小的球了,如下。 4、打开下面的properties面板(属性面板)。选中场景中的大球,在properties的名称栏中输入bigball ,如图 5、同样的方法,给小球命名为smallball 。 6、再在图层一的第二帖插入一关键帖。如下图: 7、选定第一帖,打开Actios面板输入如下的程序段,当然也可以复制。 mouse.hide(); startdrag("bigball",true); x=getproperty(bigball,_x); y=getproperty(bigball,_y); if(smallball.hittest(x,y,true)){ setproperty("smallball",_x,random(400)); setproperty("smallball",_y,random(300)) } 现在用Ctrl+Enter看一下我们的效果实现了吗? 点击浏览该文件 点击浏览该文件 是不是真的有人复制了,那说明你不理解,没有关系。 现在我们来分析这段程序: mouse.hide(); startdrag("bigball",true); x=getproperty(bigball,_x); y=getproperty(bigball,_y); if(smallball.hittest (x,y,true)){ setproperty("smallball",_x,random(400)); setproperty("smallball",_y,random(300)); }其中的“mouse.hide();”是用于当光标移动到动画界面时自动隐藏,这一句是隐藏鼠标时所通用的语句; “startdrag("bigball",true);”的作用是使大球可以被鼠标拖动,这样也就相当于我们用鼠标来控制大球而不再是原垭的光标了。后面的参数true用于设置被拖动的大球的中心和鼠标的位置相重合。 “x=getproperty(bigball,_x);”和“y=getproperty(bigball,_y);”这两句的作用是将大球的X坐标和Y坐标值赋给变量X和Y。 最后的if语句是一个条件语句,其中“smallball.hittest(x,y,true)”是条件,其中“hittest”是电影片段的一方法,语法格式是: 电影片段名称:“hittest”(要判断的电影片段的X坐标,要判断的电影片段的Y坐标,true或false) 其中true表示用参照电影片段的完整图形的面积来做判断标准,而false表示用实体的框架来作为判断标准。 对制定的电影片段的相应属性进行了判断之后,如果达到了两球相互之间有重合这个条件,则执行“setproperty("smallball",_x,random(400));”,这段语句的意思是:将小球的X坐标值设为400以内的任一个随机量。 “ setproperty("smallball",_y,random(300));” 这段语句是将小球的Y坐标值设为300以内的任一个随机量。 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于永不重合的小球,简单的Action的所有评论