帮忙分析一下这个程序(as3)有啥错误

来源:百度知道 编辑:UC知道 时间:2024/06/11 03:44:38
var speedx:Number=(mouseX-sp1.x)/20;
var speedy:Number=(mouseY-sp1.y)/20;
stage.addEventListener(MouseEvent.MOUSE_MOVE,yd);
function yd(e) {
for (var i:int=0; i<10; i++) {
sp1.x+=speedx;
sp1.y+=speedy;

quan.addEventListener(Event.ENTER_FRAME,isHit);
}

}
function isHit(e) {
if (quan.hitTestObject(sp1)) {
speedx=speedy=0;
}
}
我想让这个sp1在一个圈(quan)内面 向鼠标移动
不超过圈,就像是眼珠一样在转动!!!!

var speedx:Number=(mouseX-sp1.x)/20;
var speedy:Number=(mouseY-sp1.y)/20;
stage.addEventListener(MouseEvent.MOUSE_MOVE,yd);
function yd(e:MouseEvent) {
sp1.x+=speedx;
sp1.y+=speedy;
if (quan.hitTestObject(sp1)) {
speedx=speedy=0;
}

}
这样你在看看
想让sp1在只在圈里quan你可以动态将sp1加载到quan里
如果需要可以帮忙

真的很晕,你用MOUSE_MOVE这个已经就有可以循环执行了,为什么还要用ENTER_FRAME.
这两个方法的意思是,MOUSE_MOVE只要鼠标一直在动函数yd就一直会执行,ENTER_FRAME
是一直都执行函数isHit.还有不明白你鼠标移动时,你都要循环10次干吗?这些都有问题
你还是再认成想想自己要什么,然后再写

function yd(e) {……}和function isHit(e) {……}中的e未声明;前一个括号里写成e:MouseEvent,后一个写成e:Event