isolib对像结合TweenLite的运动

注:每一次运动改变位置,都要重新渲染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");

  }

 

 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值