explorers’ club


as3isolib alpha released
Wednesday, October 1, 2008, 5:28 pm
Filed under: actionScript, development, flash, fun stuff, gaming, geometry, isolib, math, projects, tutorial

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


21 Comments so far
Leave a comment

what is as3isolib?

Comment by Thijs

As3isolib is an open-source ActionScript 3.0 Isometric Library developed to assist in creating isometric content (such as games and graphics).

Comment by jwopitz

Hey this is great! I’ve been looking for an alternative to the ffilmation iso engine. What will be the goals for this engine?

Comment by Joel Caballero

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.

Comment by jwopitz

SOLD!!!

Just what I’ve been looking for!

Thank you for this. I’ll help spread the word :)

Comment by Joel Caballero

Joey if you are interested in contributing to the project let me know and I will add you to the google code project page.

Comment by jwopitz

[...] October 11, 2008 — drawk as3isolib is a great isometric library for actionscript 3 by Justin Opitz.  This is a lower level isometric library that could be used in building your own isometric gaming [...]

Pingback by as3isolib Actionscript 3 Isometric Library for Flash/Flex « [ draw.logic ]

Hiya – this looks like a really nice library. Excellent stuff.

Ian

Comment by IanT

[...] Justin Opitz have released the Alpha of as3isolib, a powerful as3 isometric library for Flash/Flex. [...]

Pingback by Make me pulse - Making a better life for web developer since 2006 » Blog Archive » as3isolib : as3 isometric library for Flash/Flex

Great lib, using it but i dont understand how to use IsoView.

Comment by Ozren

Wow, very nice… thanks!

Comment by Ryan

@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.

Comment by jwopitz

@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

Comment by jwopitz

[...] is a great and pretty simplified action script 3 isometric library by Justin Optiz. Though this is a alpha release, am sure it will be of great help for game development [...]

Pingback by as3isolib | Ashish's Blog

This is a wonderful lib. Coming from J2ME background this really makes my understanding of isometric geometry in flash easy.

Comment by ashish

Many thanks, both for the lib and the new tutorial. I look forward to seeing (and maybe one day contributing to) your progress.

Comment by mike

[...] more about the release on the oficial post here, or access the project [...]

Pingback by Blog Adorninho » Blog Archive » as3isolib alpha released!

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));
}

Comment by Nexus

[...] is a great and pretty simplified action script 3 isometric library by Justin Optiz. Though this is a alpha release, am sure it will be of great help for game development [...]

Pingback by ActionScript 3 Isometric Library “as3isolib” | Ashish's Blog

What will be the goals for this engine?

Comment by wnature

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

Comment by jwopitz




Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>