sspy
26.02.2010, 17:19
в общем есть муви клип (обычный круг 5х5px) у клипа в Linkage прописано main.Cor
Вот содержимое main/Cor.as
package main
{
import flash.display.MovieClip;
import flash.events.*;
public class Cor extends MovieClip
{
var step:int = 1;
var o:Boolean = false;
var fx,fy,stepx,stepy:Number = 0;
function Cor():void
{
stage.addEventListener(MouseEvent.CLICK,EventMouseClick);
stage.addEventListener(Event.ENTER_FRAME,EventEneterFrame);
this.fx = this.x;
this.fy = this.y;
this.x = Math.floor(this.x);
this.y = Math.floor(this.y);
}
function EventMouseClick(eve:MouseEvent):void
{
this.o=false;
this.fx = Math.floor(eve.localX);
this.fy = Math.floor(eve.localY);
var tx:Number = fx - this.x;
var ty:Number = fy - this.y;
var countstep:Number = 0;
if (Math.abs(tx) > Math.abs(ty))
{
countstep = tx/this.step;
this.stepy = ty/countstep;
this.stepx = tx/Math.abs(tx);
}
else
{
countstep = ty/this.step;
this.stepy = ty/Math.abs(ty);
this.stepx = tx/countstep;
}
trace('x: '+((this.stepx*countstep)==tx));
trace('y: '+((this.stepy*countstep)==ty));
this.o=true;
}
function EventEneterFrame(event:Event):void
{
if (this.o === true)
{
if (this.x != this.fx)
this.x+=this.stepx;
if (this.y != this.fy)
this.y+=this.stepy;
}
}
}
}
мне нужно чтоб как только я щелкал по области флешки (не по муви клипу) так сразу мувиклип постепенно перемещался к этой точке, но у меня проблемма в том что постоянно мувик либо проезжает точку либо не доежает.... помогите.
Вот содержимое main/Cor.as
package main
{
import flash.display.MovieClip;
import flash.events.*;
public class Cor extends MovieClip
{
var step:int = 1;
var o:Boolean = false;
var fx,fy,stepx,stepy:Number = 0;
function Cor():void
{
stage.addEventListener(MouseEvent.CLICK,EventMouseClick);
stage.addEventListener(Event.ENTER_FRAME,EventEneterFrame);
this.fx = this.x;
this.fy = this.y;
this.x = Math.floor(this.x);
this.y = Math.floor(this.y);
}
function EventMouseClick(eve:MouseEvent):void
{
this.o=false;
this.fx = Math.floor(eve.localX);
this.fy = Math.floor(eve.localY);
var tx:Number = fx - this.x;
var ty:Number = fy - this.y;
var countstep:Number = 0;
if (Math.abs(tx) > Math.abs(ty))
{
countstep = tx/this.step;
this.stepy = ty/countstep;
this.stepx = tx/Math.abs(tx);
}
else
{
countstep = ty/this.step;
this.stepy = ty/Math.abs(ty);
this.stepx = tx/countstep;
}
trace('x: '+((this.stepx*countstep)==tx));
trace('y: '+((this.stepy*countstep)==ty));
this.o=true;
}
function EventEneterFrame(event:Event):void
{
if (this.o === true)
{
if (this.x != this.fx)
this.x+=this.stepx;
if (this.y != this.fy)
this.y+=this.stepy;
}
}
}
}
мне нужно чтоб как только я щелкал по области флешки (не по муви клипу) так сразу мувиклип постепенно перемещался к этой точке, но у меня проблемма в том что постоянно мувик либо проезжает точку либо не доежает.... помогите.