Filed under: actionScript, client side, components, development, flash, flex, jwo_lib, mxml
A user of the lib brought to my attention a major flaw in my default styling setup. This new release address the default styling as well as a few things regarding the TileCanvas’s itemRenderer (IFactory) generator class (now can use UIComponent, should implement IDataRenderer for best use).
jwolib 2008.12.15 (includes src, asdocs & SWC) – link
Filed under: misc
For the last 4 months I have been reading Frank Herbert’s Dune books. For those of you who saw the silly 80’s movie or the stupid Sci-Fi Channel’s mini-series, you are sorely missing out on the real deal. I hate to sound cliche´ but yeah, the books are so much better than the movies. Anyhow, in Heretics of Dune, several references are made to “chairdogs”. Chairdogs are living furniture, semi-sentient beings who are purposely bred as furniture. Chairdogs conform to the sitter’s desired posture and can sense stress, thus producing a massaging effect. Very Sci-Fi indeed. Or is it?
How I stumbled upon this I forget but the concept of living furniture is not science fiction at all. In fact Peter & Becky Cook have been involved in living furniture since the late 90’s. Check it out – link



Filed under: actionScript, development, fun stuff, geometry, math, tutorial | Tags: actionScript, isometric, math
Notes to self…
Given an image suitable for use as a bitmap fill, certain matrix transformations need to be done in order to orient the image to the xy, xz, and yz planes in the xyz octant. Assume the following octant orientations:
Here are the following matrix tranformations:
- XY plane orientation – this is the equivalent to rotating the image by 45º and then reducing the height by half the original scale.
var m:Matrix = new Matrix();
m.rotate(Math.PI / 4);
var m2:Matrix = new Matrix();
m2.scale(1, 0.5);
m.concat(m2); - XZ plane orientation – this is simply skewing the image in the flash-based coordinate system along the y axis. Since most isometric projections (including the as3isolib) use a 2:1 ratio, we use Math.atan(0.5) rather than Math.PI / 6.
var m:Matrix = new Matrix();
m.b = Math.atan(0.5); - YZ plane orientation – same as the XZ plane however we use the skew value * -1;
var m:Matrix = new Matrix();
m.b = Math.atan(-0.5);

