源码:
http://www.dreamnight.summerhost.info/htdocs/text.rar
网上搜了一下 关于这哥类库的教程比较少 但是该类库非常有用 能够使我们写出好的3D 效果的游戏地图
废话少说
先上第一个测试小程序::
<假如图片不能显示出来,请到相册里看>
//从测试中可以看出 as3isolib 系统中 x,y轴是对角线方向 注册点 在该对象的中心(w/2;l/2;h/2);
// 方向::
/*
沿着长宽比为: 2:1 的矩形的对角线方向运动 也就是说 isolib里的x,y坐标与flash坐标系的x轴(都是指的正半轴的夹角)形成的角度B为 : tanB= 2;
*/
package {
import flash.display.Sprite;
import as3isolib.display.primitive.IsoBox;
import as3isolib.display.scene.IsoScene;
import flash.events.MouseEvent;
import flash.events.Event
public class Main extends Sprite {
private var box:IsoBox;
private var scene:IsoScene;
public function Main() {
init();
}
private function init() {
var sprite :Sprite= new Sprite();//iso对象的环境
addChild(sprite);
box= new IsoBox();
box.setSize(40,40,30);
box.moveTo(100,00,0);
var box0 :IsoBox= new IsoBox();
box0.setSize(20,20,30);
box0.moveTo(0,0,0);
scene= new IsoScene();
scene.hostContainer=sprite;
//将iso对象添加进场景中
scene.addChild(box);
scene.addChild(box0);
//渲染:
//scene.layoutEnabled = false; 布局 默认值为true 表示是正常视野的布局
scene.render();
var dot0:Dot= new Dot();
addChild(dot0);
dot0.x=0;
dot0.y=0;
stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown,false,1,true);
this.addEventListener(Event.ENTER_FRAME, enterFrame,false,1,true);// 因为secen是静态的 改变状态需要重新渲染
}
private function onDown(e:MouseEvent=null):void {
box.y+=-10;// 换成 x, y z进行测试
trace("ok");
}
protected function enterFrame(event:Event=null):void {
scene.render();
}
}
}