欢迎光临

木子屋

标题: Flash实现人物在界面上行走

作者: dnawo

日期: 2007-06-16 07:29 PM

分类: 网页设计

内容: Flash动画在线播放
一、主要元件
1.动态文本(text1)：用于显示人物坐标
2.人物元件(girl)
3.透明按钮(btn1)：主要利用其点击事件来激发函数获取鼠标位置
本例所用素材(女孩、狗、地图)均为我弟张远兴制作的像素图，在此表示感谢！
二、ActionScript
1.帧脚本
复制内容到剪贴板 程序代码//全局变量
var speed:Number = 25; //移动速度 单位：px/s
var speed2:Number = 100; //循环间隔 单位：ms
var time:Number; //总时间
var time2:Number = 0; //计时器
var Lx:Number,Ly:Number; //单位时间位移
var Intervalid:Number;
var x1:Number = girl._x; //初始X坐标为人物X坐标
var y1:Number = girl._y; //初始Y坐标为人物Y坐标
var x2:Number,y2:Number; //终点X、Y坐标
btn1._width = Stage.width; //按钮宽为屏幕宽
btn1._height = Stage.height; //按钮高为屏幕高
//函数：计算Lx,Ly
function returnLxLy(){
var L:Number; //两点间路程
x2 = _root._xmouse;
y2 = _root._ymouse;
//Math.sqrt(Math.pow(Math.abs(3-7),2))
L = Math.sqrt(Math.pow(Math.abs(x2)-Math.abs(x1),2) + Math.pow(Math.abs(y2)-Math.abs(y1),2));
time = L / speed;
Lx = ((x2-x1)*speed*speed2)/(L*1000);
Ly = ((y2-y1)*speed*speed2)/(L*1000);
}
//函数：移动人物
function moveto(){
time2 = time2 + speed2/1000;
if(time2>time){clearInterval(Intervalid);}
x1 = x1 + Lx;
y1 = y1 + Ly;
girl._x = x1;
girl._y = y1;
text1.text = "坐标：" + Math.round(x1) + ":"+ Math.round(y1);
}
2.按钮点击事件脚本
复制内容到剪贴板 程序代码on (release) {
time2 = 0;
clearInterval(Intervalid);
returnLxLy();
Intervalid = setInterval(this, "moveto", speed2);
}
三、本例源码：点击下载

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.133 ms

返回

标题: Flash实现人物在界面上行走

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.133 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.164 ms

返回