as3isolib alpha released
Yep its out there. Yep its an alpha release which means that APIs, class names and basic project details are subject to change. This release includes the source files, a SWC and docs. I also added two of many tutorials to get people started.
as3isolib alpha release – link
as3isolib Google Code project page – link
Please feel free to send me questions, comments, criticisms, death threats, etc. All input is welcome.
Thanks.
J
Trackbacks & Pingbacks
- as3isolib Actionscript 3 Isometric Library for Flash/Flex « [ draw.logic ]
- Make me pulse - Making a better life for web developer since 2006 » Blog Archive » as3isolib : as3 isometric library for Flash/Flex
- as3isolib | Ashish's Blog
- Blog Adorninho » Blog Archive » as3isolib alpha released!
- ActionScript 3 Isometric Library “as3isolib” | Ashish's Blog
- as3isolib: una libreria per giochi isometrici in Actionscript 3 « Bedroom Coder
- as3isolib alpha released for Flex/Flash | The Canvas of Ryan Sadwick
wishlist
what is as3isolib?
As3isolib is an open-source ActionScript 3.0 Isometric Library developed to assist in creating isometric content (such as games and graphics).
Hey this is great! I’ve been looking for an alternative to the ffilmation iso engine. What will be the goals for this engine?
Hi Joel. Thanks for the feedback. Basically the goals I have in mind are:
- easy to use, understand and extend upon.
- provide a basic library tool set so that developers can build upon a stable foundation yet not be hampered by complex APIs and/or implementations
- focuses on performance with optimization on utilizing the the flash player the best it can.
- simplicity is a must and I don’t want to bog down the flash player with advanced lighting and rendering techniques. Let it do what it is good at doing.
SOLD!!!
Just what I’ve been looking for!
Thank you for this. I’ll help spread the word
Joey if you are interested in contributing to the project let me know and I will add you to the google code project page.
Hiya – this looks like a really nice library. Excellent stuff.
Ian
Great lib, using it but i dont understand how to use IsoView.
Wow, very nice… thanks!
@Ozren
The IsoView is basically a viewport that does basic camera-type things like panning, zooming, focusing on an object, focusing on a pt.
I tell you what, when I get some time in the next day or so, I will make a tutorial on it.
@ozren
Here is a tutorial on IsoView. More about the IIsoView methods in another tutorial soon – http://code.google.com/p/as3isolib/wiki/as3isolib_tutorial_005
This is a wonderful lib. Coming from J2ME background this really makes my understanding of isometric geometry in flash easy.
Many thanks, both for the lib and the new tutorial. I look forward to seeing (and maybe one day contributing to) your progress.
That a good Library ^^ May some exemple on interactivity can help all user =)
I post my exemple but i’m not sure it’s the best method to do that =/
Press Arrow for move the box or press Shift+Up/Down for Z moving
import as3isolib.core.ClassFactory;
import as3isolib.core.IFactory;
import as3isolib.display.IsoView;
import as3isolib.display.primitive.IsoBox;
import as3isolib.display.renderers.DefaultShadowRenderer;
import as3isolib.display.scene.IsoGrid;
import as3isolib.display.scene.IsoScene;
import as3isolib.enum.RenderStyleType;
import flash.display.Sprite;
var box:IsoBox = new IsoBox();
box.styleType = RenderStyleType.SHADED;
box.faceColors = [0xff0000, 0x00ff00, 0x0000ff, 0xff0000, 0x00ff00, 0x0000ff];
box.faceAlphas = [1, 1, 1, 1, 1, 1];
box.setSize(25, 30, 40);
box.moveTo(0, 0, 10);
var box2:IsoBox = new IsoBox();
box2.width = 30;
box2.length = 30;
box2.height = 30;
box2.x = 40;
box2.y = -40;
box2.z = 50;
box2.id = “MovingBox”;
var grid:IsoGrid = new IsoGrid();
grid.moveTo(0, 0, 0);
grid.cellSize = 25;
grid.showOrigin = false;
var factory:IFactory = new ClassFactory(DefaultShadowRenderer);
factory.properties = {shadowColor:0×000000, shadowAlpha:0.15, drawAll:false};
var scene:IsoScene = new IsoScene();
scene.addChild(box);
scene.addChild(box2);
scene.addChild(grid);
scene.styleRenderers = [factory];
scene.render();
var view:IsoView = new IsoView();
view.setSize(400, 400);
view.scene = scene;//look in the future to be able to add more scenes
addChild(view);
stage.addEventListener(KeyboardEvent.KEY_DOWN,Moving);
function Moving(e:KeyboardEvent) {
//trace(”>”+e);
//Fleche Gauche
if (e.keyCode == 37) {
view.scene.children[IDChild("MovingBox")].x = view.scene.children[IDChild("MovingBox")].x-1;
view.scene.render();
}
//Fleche Haut
if (e.keyCode == 38) {
if (e.shiftKey) {
view.scene.children[IDChild("MovingBox")].z = view.scene.children[IDChild("MovingBox")].z-1;
} else {
view.scene.children[IDChild("MovingBox")].y = view.scene.children[IDChild("MovingBox")].y-1;
}
view.scene.render();
}
//Fleche Droite
if (e.keyCode == 39) {
view.scene.children[IDChild("MovingBox")].x = view.scene.children[IDChild("MovingBox")].x+1;
view.scene.render();
}
//Fleche Bas
if (e.keyCode == 40) {
if (e.shiftKey) {
view.scene.children[IDChild("MovingBox")].z = view.scene.children[IDChild("MovingBox")].z+1;
} else {
view.scene.children[IDChild("MovingBox")].y = view.scene.children[IDChild("MovingBox")].y+1;
}
view.scene.render();
}
trace(”~>”+view.scene.children);
}
function IDChild(Identifiant:String):int{
return view.scene.getChildIndex(view.scene.getChildByID(Identifiant));
}
What will be the goals for this engine?
Keep in mind its not an engine but rather a set of APIs to help developers create their own game engines. The top 3 goals of this API are:
speedy development
simple API
performance oriented
Your a hard guy to get a hold of, can you shoot me an email when you get a chance?
you can reach me at jwopitz {at} gmail {dot} com