不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Flash实现人物在界面上行走
编辑:dnawo 日期:2007-06-16

一、主要元件
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);
}
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);
}
time2 = 0;
clearInterval(Intervalid);
returnLxLy();
Intervalid = setInterval(this, "moveto", speed2);
}
三、本例源码:点击下载






评论: 0 | 引用: 0 | 查看次数: 5195
发表评论
请登录后再发表评论!