1
|
2
package
{
import
as3isolib.display.IsoView;
import
as3isolib.display.primitive.IsoBox;
import
as3isolib.display.scene.IsoGrid;
import
as3isolib.display.scene.IsoScene;
import
caurina.transitions.Tweener;
import
flash.display.Sprite;
import
flash.events.Event;
import
flash.events.MouseEvent;
import
flash.geom.Point;
public
class
IsoViewExample
extends
Sprite
{
private
var
_view:IsoView;
private
var
_scene:IsoScene;
private
var
_box:IsoBox;
private
var
_grid:IsoGrid;
private
var
_panPt:Point;
private
var
_zoom:
Number
=
1
;
public
function
IsoViewExample():
void
{
_view =
new
IsoView();
_view.setSize( stage.stageWidth, stage.stageHeight );
addChild( _view );
_scene =
new
IsoScene();
_scene.hostContainer =
this
;
_view.addScene( _scene );
_box =
new
IsoBox();
_box.setSize(
50
,
50
,
50
);
_scene.addChild( _box );
_grid =
new
IsoGrid();
_grid.cellSize =
50
;
_scene.addChild( _grid );
stage.addEventListener( MouseEvent.MOUSE_DOWN, onStartPan,
false
,
0
,
true
);
stage.addEventListener( MouseEvent.MOUSE_WHEEL, onZoom,
false
,
0
,
true
);
addEventListener( Event.ENTER_FRAME, onRender,
false
,
0
,
true
);
}
private
function
onStartPan( e:MouseEvent ):
void
{
_panPt =
new
Point( stage.mouseX, stage.mouseY );
removeEventListener( MouseEvent.MOUSE_DOWN, onStartPan );
stage.addEventListener( MouseEvent.MOUSE_MOVE, onPan,
false
,
0
,
true
);
stage.addEventListener( MouseEvent.MOUSE_UP, onStopPan,
false
,
0
,
true
);
}
private
function
onPan( e:MouseEvent ):
void
{
_view.pan( _panPt.x - stage.mouseX, _panPt.y - stage.mouseY );
_panPt.x = stage.mouseX;
_panPt.y = stage.mouseY;
}
private
function
onStopPan( e:MouseEvent ):
void
{
stage.removeEventListener( MouseEvent.MOUSE_MOVE, onPan );
stage.removeEventListener( MouseEvent.MOUSE_UP, onStopPan );
stage.addEventListener( MouseEvent.MOUSE_DOWN, onStartPan,
false
,
0
,
true
);
}
private
function
onZoom( e:MouseEvent ):
void
{
e.delta >
0
? _zoom +=
0.5
: _zoom -=
0.5
;
Tweener.addTween( _view, { currentZoom:_zoom, time:
0.5
} );
}
private
function
onRender( e:Event ):
void
{
_scene.render();
}
}
}
|
3
package
{
import
as3isolib.display.IsoView;
import
as3isolib.display.primitive.IsoBox;
import
as3isolib.display.scene.IsoGrid;
import
as3isolib.display.scene.IsoScene;
import
flash.display.Sprite;
public
class
IsoSceneExample
extends
Sprite
{
private
var
_view:IsoView;
private
var
_scene:IsoScene;
private
var
_box:IsoBox;
private
var
_grid:IsoGrid;
public
function
IsoSceneExample():
void
{
_view =
new
IsoView();
_view.setSize( stage.stageWidth, stage.stageHeight );
addChild( _view );
_scene =
new
IsoScene();
_scene.hostContainer =
this
;
_view.addScene( _scene );
_box =
new
IsoBox();
_box.setSize(
50
,
50
,
50
);
_scene.addChild( _box );
_grid =
new
IsoGrid();
_grid.cellSize =
50
;
_scene.addChild( _grid );
_scene.render();
}
}
}
|