注:每一次运动改变位置,都要重新渲染scene.render() 以此来刷新屏幕
源码:;
package {
// import as3isolib.core.IIsoDisplayObject;
import as3isolib.display.IsoView;
import as3isolib.display.primitive.IsoBox;
import as3isolib.display.scene.IsoGrid;
import as3isolib.display.scene.IsoScene;
import as3isolib.geom.IsoMath;
import as3isolib.geom.Pt;
import eDpLib.events.ProxyEvent;
import com.greensock.TweenLite;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends Sprite {
private var box:IsoBox;
private var scene:IsoScene;
public function Main() {
scene=new IsoScene ;
var g:IsoGrid=new IsoGrid ;
g.showOrigin=false;
g.addEventListener(MouseEvent.CLICK,grid_mouseHandler);
scene.addChild(g);
box=new IsoBox ;
box.setSize(25,25,25);
scene.addChild(box);
var view:IsoView=new IsoView() ;
view.clipContent=false;//默认值为true
view.y=50;
view.setSize(150,100);
view.addScene(scene);//look in the future to be able to add more scenes
addChild(view);
scene.render();
}
private var tween:TweenLite;
//计数器
//private var num:int=0;
private function grid_mouseHandler(Evt:ProxyEvent):void {
var evt:MouseEvent=MouseEvent(Evt.targetEvent);// 转化事件类型
//将其转化为isolib里的坐标
var pt:Pt=new Pt(evt.localX,evt.localY);
trace("开始的:"+pt.x);
IsoMath.screenToIso(pt);//得到转化后的isolib坐标
trace("pt为:"+pt.x);
TweenLite.to(box,0,{x:pt.x,y:pt.y,onComplete:myFunction});
//num++;
//trace(num);
}
private function myFunction():void {
scene.render();
trace("OK");
}
}
}