来谈谈:Flash教程:经由过程实例进修AS(二)――小狗追骨头 (1)
最新的零售版本为AdobeFlashProfessionalCC(2013年发布)。AdobeFlashProfessionalCC为创建数字动画、交互式Web站点、桌面应用程序以及手机应用程序开发提供了功能全面的创作和编辑环境。本文由中国教程网sanbos原创,转载请保存此信息!
先看看效果(用鼠标往拖动骨头看效果)
200806/12927_2.html>200806/12927_3.html>200806/12927_2.html>下一页
</P> 这实在就是一个鼠标跟从效果,人人城市做的,不外我的的目标不是做一个效果,而是进修AS,以是仍是先先容一下本例所要用到的AS常识。算了,这一例我们边做实习边来先容AS。
小狗追骨头,那先来画一只小狗,新建一图形元件,取名狗身,象欠好听样哈,那随你乐意罗。用直线工具画出狗身,如图:
用黄色添补。
新建图形元件,取名狗前腿,绘图如:
然后是新建图形元件,取名狗后腿,如图:
上面,新建影片剪辑元件,取名小狗,也能够叫“娜娜”,建三个图层1、2、3层分离取名为正面腿、身子、反面腿,将图形元件狗身,拖进第2层,居中放好。然后将前腿 、后腿图形元件拖进第1层,再将前腿、后腿拖进第3层。第帧按下图摆好:
在第1、3层拔出关头帧,在第2层第3帧拔出帧,将第3帧按下图摆好:
然后在各层第6帧拔出帧。如许一只跑动的小狗就做好了。接上去做一根骨头:
新建一影片剪辑,取名骨头,然后画一根骨头吧。如图:
好了,筹办事情做完了,我们如今入手下手组装,复杂得很,回到主场景,将小狗和骨头拖加入景中就好了。
200806/12927.html>上一页200806/12927.html>200806/12927_3.html>200806/12927_3.html>下一页
</P>起首我们点小狗,翻开属性面板,为小狗实例取名为:xg,然后点中骨头为骨头实例取名为:ggt,ggt是甚么意义?笨,狗骨头啊,为何叫狗骨头?而不间接叫骨头,这是狗的骨头麻,以是就叫狗骨头。实在不是如许的,假如取名叫骨头,那末拼音就是gt,你取来尝尝,必定会堕落的,取个名也会堕落?是的,上面我们就先容本例的第一个AS常识:
AS中工具的定名
在AS中我们给变量,工具取名字的时分,要遵守必定划定规矩,好比必需是下划线或英笔墨母开首等,别的AS固有的关头字是不克不及利用的。有些字是AS具有商标权的,注册了的,以是你就不克不及用,否则法庭上见。好比_x,_y,this,if,stop,play........等等,另有良多,我们编写AS时能够看到这些关头字都以蓝色显现。这里特地先容一个技能,当你的代码运转时呈现毛病,而你又不晓得出在甚么中央时,你能够看看,假如代码中的关头字不是蓝色,那末你一定输错了。你能够取这些关头字以外的任何名字:ABCD,阿猫阿狗,清风飘飘都行。很不幸的是,我们方才想用的“gt"就是AS的关头字,在初期的flash中它是年夜于标记,如今多用“>"代替了它。
接上去,我们来介一个非常主要的观点:
事务
在一切的面向工具的编程言语中,事务是最主要的观点。在AS中也是云云,由于我们一切的代码都要经由过程事务来驱动,它才实行。总会有一些事变产生,我们的命令才会实行。这些产生的事变我们就将之称为事务。实践上它的意义就是,当甚么甚么的时分,就做甚么甚么。举个例子来讲,我们要让灯亮,就必定要先产生一件事变,按下开关。当按下开关的时分,灯就亮了。那末按下开关就是一个事务。我们在AS中也有良多事务,如点击元件时,鼠标挪动时等。那末如何写事务代码呢?这里要注重在AS3中和AS2事务代码是纷歧样的,由于多半人都还在用AS2,以是我们只先容AS2中如何写,至于AS3中如何写,能够参考我在论坛中宣布的“初识AS3.0”一帖。
在AS2中,代码能够写在元件上如影片剪辑或按钮中,也能够写在帧举措中,事务的代码写在这两个中央是纷歧样的,先看看在帧举措中写代码,格局:
事务称号 = function(){
要实行的语句;
}
假如要写在元件中,就应当如许写:
on(事务称号) {
要实行的语句;
}
上面我们先容本例中要用到的三个事务,进一步地懂得事务。
onMouseMove事务
onMouseMove事务是在当鼠标挪动时产生,当我们场景中挪动鼠标时,就会触发本领件。这个事务只能用到帧举措中。看个例子:人人能够将上面的代码,复制到第一帧看看。
onMouseMove=function(){
trace(“鼠标挪动了“);//trace是输入括号中的内容。
}
好,我们测试影片,挪动鼠标就会弹出一个动静框,下面有“鼠标挪动了”几个字。
press事务
这个事务是当按下鼠标键,还没摊开的时分产生。这个事务用到元件上,假如要用到帧上,就要用,onPress.看个例子,我们在场景中放上一个影片剪辑,然后点中它,单击右键,翻开举措面板,就能够写代码了:
on(press){
trace(“你点下了鼠标”);
}
假如要把代码放到帧举措中,如许写(假设影片剪辑的实例名是mc)
mc.onPress=function(){
trace(“你点下了鼠标”);
}
release事务
这个事务是当按下鼠标键,然后摊开的时分产生。与press区分是,press是按下没摊开时,而release是摊开时产生的。一样release是写在原件上的,要写在帧举措上,请用onRelease,用法与press不异。
如今我们来剖析一下,要让小狗往追骨头,实践就是让小狗和骨头的间隔减少就行。元件在场景中的地位是同其_x,_y属性决意的,只需减少两个元件的_x,_y属性差异,两个元件就接近了。以是我们先算出两元件_x,_y的差异:
vardx,dy:Number;
dx=(ggt._xCxg._x)/20;
dy=(ggt._yCxg._y)/20;
为何要除以20呢?由于我要的效果是小狗往追骨头,而不是一步就追上,以是我们给它除以20,就是说要追20步才干追上,以是这个除20实践就是把持小狗追骨头的速率的,除的数字d年夜,速率就d慢。上面的代码是让小狗往追骨头:
xg._x+=dx;
xg._y+=dy;
+=标记在上一次的实例中我们已先容了,这两句就好了解了。那末甚么时分往追骨头呢?下面我们说了,这些命令都是要在一个事务产生时才干实行的。我们把它们放在鼠标挪动时往实行。就是说当我们在场景中挪动鼠标时,小狗就往追骨头。即然是追骨头,那末骨头就应当动才是,如何动呢?固然是用鼠标往拖动,请看上面两个语句:
startDrag()
这个语句的意义是拖动,利用这句后元件将跟着鼠标的挪动而挪动。如:
mc.statDrag();
这时候挪动鼠标时就会将mc拖动走。
stopDrag()
中断拖动的意义,如:
mc.stopDrag();
这时候挪动鼠标,mc不再被拖动了。
经由过程下面的常识,我们仿佛已办理了,小狗追骨头的成绩,当鼠标挪动时,将拖动骨头,而这时候,小狗也会以往追骨头了,不外有个成绩,小狗的挪动是_x,_y的增减,而小狗的偏向是不会改动的,这就有能够呈现,小狗用背或肚皮往追骨头,乃至会发展着往追骨头,这不切合常理,我们应当想举措让小狗的头一直对着骨头,这就请求要改动小狗的偏向,这时候我们就会用到上面的属性:
_rotation属性
这个属性可设置工具的扭转度,如:
mc._rotation=45;
这时候mc会扭转45度。
那末如何才干让小狗的头跟着骨头扭转呢?我们来看一个图:
从图上看,小狗和骨头间构成了一个角,很明显,我们坚持这个角度,就可以坚持小狗的偏向。在坚持这个角度,我起首来熟悉一个函数。
atan2()
在上一个实例实习中,我们说到了Math这个顶级类,它内里包括了良多数学相干的器材。atan2就是个中的一个。atan2()能够前往一个点与x轴的夹角。语法是如许的:
Math.atan2(y,x)请注重,这里点的坐标是y在前,x在后,跟一样平常的相反。如许我们就能够算出小狗和骨头跟x轴的夹角:
如小狗的夹角:Math.atan2(xg._y,xg._x)
假如让小狗扭转与骨头和小狗跟X轴的夹角差,小狗不就对着骨头了吗?象如许写:
xg._rotation=Math.atan2(dy,dx)
行吗,管它的,碰运气,了局不可。
对了,atan2()得出的度数是弧度,我们要让小狗扭转的是角度,成绩是否是出在这呢?
角度与弧度的转换
在AS上钩算经常是用弧度,而我们直不雅操纵又经常用到角度,因而,就会经常用用到角度现弧度转换的成绩。这个不想说太多,记着上面两个公式就好了。
角度 = 弧度*180/Math.PI
弧度 =角度 *Math.PI/180
我们将 xg._rotation=Math.atan2(dy,dx) 转换成角度就成为:
xg._rotation=Math.atan2(dy,dx)*180/Math.PI;
再试一下,没想到乐成了。
好了,看起来本例中的一切成绩都办理了,上面我们写代码。在下面,我们已将小狗和骨头放加入景中,并分离将实例定名为xg,ggt,如今新建一层,定名为action,在第一帧的举措面板中写上以下代码:
vardx,dy:Number;
vardz;
onMouseMove=function(){
dx=(ggt._x-xg._x)/20;
dy=(ggt._y-xg._y)/20;
dz=Math.atan2(dy,dx)*180/Math.PI;
xg._x+=dx;
xg._y+=dy;
xg._rotation=dz;
}
下面的代码不必要注释了吧。然后,点击骨头,翻开举措面板,写下以下代码:
on(press){
this.startDrag();
}
on(release){
stopDrag();
}
ok,半途而废,把你的佳作帖在前面吧。
与本文相干会商请到这里与作者交换:http://bbs.jcwcn.com/viewthread.php?tid=164833
</p>200806/12927_2.html>上一页200806/12927.html>200806/12927_2.html>
占用硬盘空间少,所以被广泛应用于游戏、网络视频、网站广告、交互设计等。 flash的流行因素包括了技术上的优势——技术本身的优势;技术掌握上的优势;其他技术的弱势; 随着动漫发展趋势,我国也越来越重视动漫产业的发展,各种制作动画软件应运而生,其中flash比较突出。 flash制作的动画文件比较小,可以在网络上快速传播! 单纯的做动画而言,flash动画与传统动画有很多差别,这里会为你介绍什么是flash与flash与传统动画相比具有的优点和缺点,而进一步了解flash动画 富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。 流技术让用户在下载的同时看到动画(与全部下载后再观看相反)。但是这也不是什么新技术 - Web一出现就有这种技术了。 逐渐改变了我们生活及生活习惯的一些东西,而正是互联网的大势兴起,Flash动画越来越受到宠爱,现在,Flash动画已成为网络广告的中坚力量。 FLASH的优点~你用眼睛所看到的东西~都能用它来实现~一点不夸张~高楼大厦-花草树木-高山流水-天空白云-阿猫阿狗-一切活的东西都可以容入到FLASH里面 富媒体可应用于各种网络服务中,如网站设计、电子邮件、BANNER、BUTTON、弹出式广告、插播式广告等。
页:
[1]