<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">
<channel><title><![CDATA[ActionScript.org Flash, Flex and ActionScript Resources - Comments for article: Elemental 4D - Practical 3D for Flash Media]]></title><link>http://www.actionscript.org/resources</link><description /><language>en-us</language><copyright><![CDATA[http://www.actionscript.org/resources]]></copyright><generator>N/A</generator><webMaster>general.redirect@gmail.com</webMaster><lastBuildDate>Sun, 22 Nov 2009 17:08:53 CST</lastBuildDate><ttl>20</ttl><item><title><![CDATA[Comment #1]]></title><link>http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment12089</link><description><![CDATA[A good series of classes, and definitely a good replacement for Sandy.  I definitely like the fact that toString seems to have some very descriptive values.  This is something which Sandy SORELY needed.  It will be very interesting to see this interface with CS4's AS3.

There do seem to be some oddities which I've noticed right off, however.  Most importantly, why is there a DisplayObjectContainer3D class?  The only difference between it and its parent class is the error message which render provides.  There seem to be a number of times that constants are created superfluously.  The Quaternion object comes to mind as an example -- the atan2 function is called once, more effort is spent writing that atan2 is a private function.  Finally, all of the elemental4d.geom classes (except Transform4D) have clone and copy in common.  It might be possible to simply have them all extend the same base class.<br/><br/>
(Comment posted by C.W. Allen-Poole at 2:32 pm, Wed 8th Oct 2008)]]></description><author>no@spam.com (C.W. Allen-Poole)</author><pubDate><![CDATA[Wed, 08 Oct 2008 14:32:05 CDT]]></pubDate><guid isPermaLink="true">http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment12089</guid></item><item><title><![CDATA[Comment #2]]></title><link>http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment12095</link><description><![CDATA[I thought I'd take the time to answer a couple of questions that have been brought up. First I would like to point out that this engine is not intended to replace Sandy, PV3D, or Away, it is for a completely different niche that until now has been left dry, and that those engines aren't made for, and have had a hard time filling. So I hope it comes in useful for that 2D world where 3D elements are needed! But if you're creating a fully 3D world (such as a game) those other engines would be much more appropriate, and in fact, you would have a hard time doing it with this engine, unless you set the Stage3D.distortion property to 0, making it orthographic!

As far as DisplayObjectContainer3D class, it has been asked why it is necessary, it is there for the measure of good practice. One, to be as much like normal flash in general (it being the counterpart to the AS3 DisplayObjectContainer class) as well as for polymorphism, so that as extensions are made, they can extend a common base container class, instead of all having to extend Sprite3D. This pertains to many classes in the engine, this engine was not just made to run, it was made to also be extended and modified to fit many uses, so many things have been done in the name of polymorphism alone.

I have also heard questions about the use of constants, that is simply a measure of practice as well. To declare something from another class as a local constant often offers an increase in speed, rather than having to access from the other class, as well as just makes things a little easier and cleaner from a coding standpoint, often allowing code modifications to be done much easier as well. So even when I know it will not increase the speed, I tend to employ it anyway. It is a preference choice that I often employ that eases the programming process, does not harm speed, and often can increase it :) If that is not your coding preference, I hope you change it to be the way you prefer, so that you can use the engine as best as you can! This is a gift to the actionscript community, so I hope you modify it to suit your needs!

It has also been brought up that the elemental4d.geom package classes have many in common functions, so they could have a common base class. Those functions share only a common name and idea of what they do, the variables they use, etc are quite different. Any base class for them would quite simply have all its methods overridden in the actual class, and I see no polymorphic advantages in having a base class for them, so I did not. However, this engine is built to be modified easily, and if it is your personal preference to give them a common base class, and simply override the commonly named functions, that you are welcome to do so. In fact, I truly hope that many modifications and iterations of this engine are made to suit many needs, my coding and working style is not the only coding and working style, modify as needed!

Thanks for the questions, I'd love to answer any more questions you guys get!<br/><br/>
(Comment posted by Bryan Grezeszak at 12:05 pm, Thu 9th Oct 2008)]]></description><author>no@spam.com (Bryan Grezeszak)</author><pubDate><![CDATA[Thu, 09 Oct 2008 12:05:55 CDT]]></pubDate><guid isPermaLink="true">http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment12095</guid></item><item><title><![CDATA[Comment #3]]></title><link>http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment12529</link><description><![CDATA[Hi, I really like the 3D cube! The only thing I notice, is that when I click off my browser window onto my mac desktop, the cube spins like crazy. Why does this happen? Is there a way to fix this?

Anyway, I think it's great you developed and released Elemental 4D.<br/><br/>
(Comment posted by kate at 1:06 am, Tue 20th Jan 2009)]]></description><author>no@spam.com (kate)</author><pubDate><![CDATA[Tue, 20 Jan 2009 01:06:56 CST]]></pubDate><guid isPermaLink="true">http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment12529</guid></item><item><title><![CDATA[Comment #4]]></title><link>http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment13095</link><description><![CDATA[is this compatible with mx pr0 2004 in AS2?<br/><br/>
(Comment posted by John at 12:15 am, Wed 10th Jun 2009)]]></description><author>no@spam.com (John)</author><pubDate><![CDATA[Wed, 10 Jun 2009 00:15:07 CDT]]></pubDate><guid isPermaLink="true">http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment13095</guid></item><item><title><![CDATA[Comment #5]]></title><link>http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment13125</link><description><![CDATA[brilliant and definitely what the niche needed

imo<br/><br/>
(Comment posted by kurius at 10:50 pm, Sun 14th Jun 2009)]]></description><author>no@spam.com (kurius)</author><pubDate><![CDATA[Sun, 14 Jun 2009 22:50:48 CDT]]></pubDate><guid isPermaLink="true">http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment13125</guid></item><item><title><![CDATA[Comment #6]]></title><link>http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment13572</link><description><![CDATA[Hmmmm... I am an absolute beginner, but I made some projects in Flash CS3 and they works.
Due to lack of 3d in CS3 I decided to import your Elemental4D classes and I started with making
3d cube as in Tutorial2.
FIrst I made new object - MovieClip named "scena", set class name to "scena3d" and set base class to elemental4d.display.Stage3D. Then I made cube object in the same manner, opened it and inside I draw 6 rectangle primitives, and converted it to objects seting it as faces.
After that I returned to Stage1, opened object "scena" and put cube object into it. After all I dragged "scena" object into Stage1 frame. I think I made all in right order ;)
When tried to test scene I got following errors:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at elemental4d.display::MovieClip3D/render()
	at elemental4d.display::Sprite3D/render()
	at elemental4d.display::Stage3D$iinit()
	at stage$iinit()
	at flash.display::Sprite/flash.display:Sprite::constructChildren()
	at flash.display::Sprite$iinit()
	at flash.display::MovieClip$iinit()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at elemental4d.display::MovieClip3D/render()
	at elemental4d.display::Sprite3D/render()
	at elemental4d.display::Stage3D/::renderStage()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at elemental4d.display::MovieClip3D/render()
	at elemental4d.display::Sprite3D/render()
	at elemental4d.display::Stage3D/::renderStage()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at elemental4d.display::MovieClip3D/render()
	at elemental4d.display::Sprite3D/render()
	at elemental4d.display::Stage3D/::renderStage()

and so on...
My english is not the first class so I think I missunderstand yours advices.
Could you help me? What I doing wrong?<br/><br/>
(Comment posted by Andrzej at 5:52 am, Wed 14th Oct 2009)]]></description><author>no@spam.com (Andrzej)</author><pubDate><![CDATA[Wed, 14 Oct 2009 05:52:57 CDT]]></pubDate><guid isPermaLink="true">http://www.actionscript.org/resources/articles/819/1/Elemental-4D---Practical-3D-for-Flash-Media/Page1.html#Comment13572</guid></item></channel></rss>