首页 > 其他分享 >令物体沿着指定路径运动[as3版]

令物体沿着指定路径运动[as3版]

时间:2023-01-06 17:35:19浏览次数:73  
标签:as3 flash trace 物体 路径 pa var import rect


令物体沿着指定路径运动[as3版]_i++


*在舞台中有一个名为fk的movieclip和一个名为line的movieclip。


令物体沿着指定路径运动[as3版]_i++_02


这是运行之后的效果。


以上程序按着原闪吧文章的思路用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得到路径所有的坐标值。


标签:as3,flash,trace,物体,路径,pa,var,import,rect
From: https://blog.51cto.com/u_15932543/5994470

相关文章

  • 包含UUID的路径匹配校验
    请求路径有三种格式:(1)account_server/v1/users/6f0f1d91-9b76-4499-af64-d05a780c0287/profile【UPDATE】(2)account_server/v14/users/6f0f1d91-9b76-4499-af64-d05a780c02......
  • C++可执行文件绝对路径获取与屏蔽VS安全检查
    :前言前几天写新项目需要用到程序所在绝对路径的时候,发现网上居然一点相关分享都没有。:_pgmptr翻箱倒柜找出了几本教程,发现了一个叫_pgmptr的东西。进去看了一下,在s......
  • 做游戏的盈利路径有很多
    本文首发于微信公众号【小蚂蚁教你做游戏】,欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识。哈喽!大家好,我是小蚂蚁。好久不见,最近停更了挺长时间,主要是因......
  • P4551 最长异或路径 : 01tire + 树 + 异或
    题P4551最长异或路径https://www.luogu.com.cn/problem/P4551知识背景01tire树,可以用来查找异或的最大值。经典问题如下。在nums中,哪两个数中异或值最大。解决方法:......
  • 电脑端钉钉部分数据缓存路径
    表情缓存:目录位置:%AppData%\Roaming\DingTalk\defEmotion头像缓存目录位置:%AppData%\DingTalk\xxxxx_v2\AvatarFiles聊天图片缓存目录位置:%AppData%\DingTalk\xxxxx......
  • 22、商品服务--三级分类--配置网关路由与路径重写
    1、启动renren-fast后台系统和renren-fast-vue前端系统2、登录renren-fast-vue,并创建对分类进行管理的菜单(使用elementui的树形控件)3、renren-fast-vue中编写向后端请求......
  • MaxRects纹理合并算法as3实现
    What'sMaxRectsBinPackMaxRects算法是一个二维图像排列算法,在FlashCS6的Sprite导出功能和TexturePacker中均有使用.ReferenceBasedonthePublicDomainMaxRectanglesB......
  • as3与php交互实现总结
     目前flash在各方个面的应用越来越广,而flash也不单只是注重自身绚丽的效果,也需要和外界程序交换数据,以实现更强大的功能,随着as3的到来,flash和外部交互的方式也越来越简便......
  • 每日算法之二叉树中和为某一值的路径(三)
    JZ84二叉树中和为某一值的路径(三)题目给定一个二叉树root和一个整数值sum,求该树有多少路径的的节点值之和等于sum。1.该题路径定义不需要从根节点开始,也不需要在......
  • unity3d相机跟随物体平滑移动(C#代码)
    usingUnityEngine;usingSystem.Collections;publicclassCameraFollow:MonoBehaviour{publicTransformtarget;privateVector3wantedPosition......