动画教程之AS教程:鼠标拖拽与扭转MC-Flash actionscript
AdobeFlashPlayerforIE是IE浏览器专用的flash播放器插件,可以播放AdobeFlash制作的flash文件。poluoluo中心提醒:不必shift键就不克不及完成这类功效吗?我入手下手思索怎样辨别MOUSE_DOWN+MOUSE_UP与CLICK.
在网上看到某个游戏既要拖拽mc又要扭转mc,拖拽用鼠标事务完成,而扭转必要用shift+鼠标click事务。总以为太贫苦了。故而但愿本人能找到一种只用鼠标就可以同时完成拖拽与扭转功效的办法。
了局发明MOUSE_DOWN+MOUSE_UP居然相称于一次CLICK事务。即每次开释鼠标左键,中断拖拽时,mc会扭转一次,而这个明显不是预期的效果。
因而,入手下手分明了,谁人程序员为何要增加shift键的侦听了。
但是,不必shift键就不克不及完成这类功效吗?我入手下手思索怎样辨别MOUSE_DOWN+MOUSE_UP与CLICK.。
办法一:设置工夫距离。工夫不太好掌控,pass失落。
办法二:用鼠标的绝对地位。倘使mc未挪动则视为click事务。正解!
package{
importflash.display.*;
importflash.geom.Point;
importflash.events.*;
publicclassmainextendsSprite{
privatevarmc:MC;
privatevarclickOffset:Point;
privatevarmouseLoc:Point;
publicfunctionmain(){
mc=newMC();
addChild(mc);
mc.x=200;
mc.y=200;
mc.addEventListener(MouseEvent.CLICK,rot);
mc.addEventListener(MouseEvent.MOUSE_DOWN,startdrag);
mc.addEventListener(Event.ENTER_FRAME.,drag);
stage.addEventListener(MouseEvent.MOUSE_UP,stopdrag);
}
privatefunctionstartdrag(e:MouseEvent){
mouseLoc=newPoint(e.stageX,e.stageY);
clickOffset=newPoint(e.stageX-mc.x,e.stageY-mc.y);
}
privatefunctiondrag(e:Event){
if(clickOffset==null)return;
mc.x=mouseX-clickOffset.x;
mc.y=mouseY-clickOffset.y;
}
privatefunctionstopdrag(e:MouseEvent){
clickOffset=null;
}
privatefunctionrot(e:MouseEvent){
if(!mouseLoc.equals(newPoint(e.stageX,e.stageY)))return;
mc.rotation+=30;
}
}
}
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。 它包含了下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言。 不能制作色彩丰富变化的图像,核心竞争力小,而且有一定的局限性。要想制作优秀的动画,就要充分了解软件的优点和缺陷。 祯率越高,动画中可包容的信息越多,动画看起来越光滑和流畅。当然,当祯率增加时,计算机的CPU的重绘工作越多,运行得就越慢。 矢量图形有一些固有的限制。例如,照片由于包含太多的信息而不能使用矢量图形这 种形式。但是对于由实体颜色形状构成的图像,Flash很管用。 FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。 各种性能才能运用的得心应手,制作出优秀的动画。 在计算机出现之前,动画制作者必需手工绘制即使差别很小的不同祯的图像。当然,非自动的,一祯祯的动画在很多情况下仍然很有用,Flash也允许这样做。 关于位图和矢量图形的区别,可参看Flash教程。
页:
[1]