令物体沿着指定路径运动[as3版]
2014-12-07 20:19
288 查看
*在舞台中有一个名为fk的movieclip和一个名为line的movieclip。
这是运行之后的效果。
以上程序按着原闪吧文章的思路用as3实现了一遍。
import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; import flash.events.MouseEvent; import flash.events.Event; import flash.geom.Matrix; import crawlingtosea.methods.Tick; import crawlingtosea.events.TickEvent; var rect:Rectangle=line.getBounds(this); var bitmapdata:BitmapData=new BitmapData(rect.width,rect.height,false,0); bitmapdata.draw(line); var pa:Array=pa?pa:[]; var w:uint=rect.width; var h:uint=rect.height; trace(rect); for(var i:int=0;i<w;i++){ for(var j:int=0;j<h;j++){ if(bitmapdata.getPixel(i,j)==Number(0x660000)) { pa.push(new Point(i+rect.x,j+rect.y)); } } } trace(pa[0]); fk.x=pa[0].x; fk.y=pa[0].y; //trace(bitmapdata.getPixel(0,50)); //trace(pa) var tick:Tick=new Tick(1,10); stage.addEventListener(MouseEvent.CLICK,onClick); function onClick(e:MouseEvent):void{ stage.removeEventListener(MouseEvent.CLICK,onClick); trace("onClick"); tick.addEventListener(TickEvent.TICK,onTick); } function onTick(e:Event):void{ fk.x=pa[0].x; fk.y=pa[0].y; pa.shift(); if(pa.length==0) { tick.stop(); trace("over"); } }
其原理是利用bitmapdata的getpixel得到路径所有的坐标值。
相关文章推荐
- iOS 对象沿着指定路径进行动画
- Unity获取物体自身坐标轴的方向以及沿着该方向运动的方法
- [计算机动画] 路径曲线与运动物体控制(Cardinal样条曲线)
- 在Vega Prime中设定物体的运动路径
- 【计算机动画】实验 路径曲线与运动物体控制 设计
- Unity3d物体运动到指定位置
- iOS 对象沿着指定路径进行动画
- cocos2d学习笔记第三章 让精灵按指定的路径来运动
- 在Vega Prime中设定物体的运动路径
- iOS 对象沿着指定路径进行动画
- 【计算机动画】实验 路径曲线与运动物体控制 报告
- 使物体按照指定路径移动
- C# 读取指定路径配置文件的方法
- linux 编译指定库、头文件的路径问题
- linux中,安装程序,指定路径
- 关于指定dll搜索路径
- android.mk指定目标文件路径
- “LIB 环境变量”中指定的搜索路径"%LIB%"无效 "错误的解决方法
- QT 文件下载后指定存放文件路径问题