but why not use the Animator class here?
by just modeling the start, end and probably in between you end up as a one
liner...
if you preffer define the geometry like this, use the 3 elements --> Merge, you
pass to animator
repeat for your anim steps.
Fabrice
On Apr 22, 2010, at 11:27 PM, Justin Lawerance Mills wrote:
> (ps the graphics in the test link were from someone i helped on
> actionscript.org so not mine) 'Door' concept are great for setting up a
> scene of planes, as you may have seen in one of my other posts.
>
>
> On 22 Apr 2010, at 22:22, Justin Lawerance Mills wrote:
>
>> Ok this is haXe but concepts are similar...
>>
>> You can cut the bitmap up by modifying this
>> /**
>> * used for copying a movie to a bitmapdata object
>> */
>> public function copyToBitmapWithTransparency( mc: MovieClip ):
>> BitmapData
>> {
>>
>> mc.cacheAsBitmap = true;
>>
>> var wide: Int = Std.int( mc.width );
>> var hi: Int = Std.int( mc.height );
>> var point: Point = new Point( 0, 0);
>> var rect: Rectangle = new Rectangle( 0 , 0, wide, hi);
>> var abitmap: BitmapData = new BitmapData( wide, hi, true,
>> 0x00000 );
>> abitmap.draw( mc );
>> abitmap.copyPixels( abitmap, rect, point, abitmap, point, false );
>>
>> return abitmap;
>>
>>
>> }
>>
>> I have a Door class ( it still needs work ), it allows you to easily work
>> with planes, you can use it for creating structures, although probably adds
>> overhead and almost overkill for a class and is far from complete, I have an
>> as3 papervision version somewhere that was more finished, ( see test
>> http://www.justinfront.net/demos/treepopup.swf ) the link should give you an
>> idea on its use. Anyway here is my current haXe one but I need to do more
>> work on it probably could be implemented better.
>>
>>
>> package zpartan.generic.views.away;
>>
>> /*
>> * Copyright (c) 2010, Justinfront Ltd, ( JLM at Justinfront dot net )
>> * All rights reserved.
>> *
>> * Redistribution and use in source and binary forms, with or without
>> * modification, are permitted provided that the following conditions are met:
>> * * Redistributions of source code must retain the above copyright
>> * notice, this list of conditions and the following disclaimer.
>> * * Redistributions in binary form must reproduce the above copyright
>> * notice, this list of conditions and the following disclaimer in the
>> * documentation and/or other materials provided with the distribution.
>> * * Neither the name of the Justinfront Ltd nor the
>> * names of its contributors may be used to endorse or promote products
>> * derived from this software without specific prior written permission.
>> *
>> * THIS SOFTWARE IS PROVIDED BY Justinfront Ltd 'AS IS'' AND ANY
>> * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
>> * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>> * DISCLAIMED. IN NO EVENT SHALL Justinfront Ltd BE LIABLE FOR ANY
>> * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
>> * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>> SERVICES;
>> * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>> * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
>> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
>> THIS
>> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>> */
>> import away3dlite.core.base.Mesh;
>> import away3dlite.containers.ObjectContainer3D;
>>
>> import flash.display.DisplayObject;
>> import flash.geom.Rectangle;
>>
>>
>> enum Open
>> {
>> left;
>> right;
>> top;
>> bottom;
>> }
>>
>> enum Orientation
>> {
>> X;
>> Y;
>> }
>>
>> class Door extends ObjectContainer3D
>> {
>>
>>
>> public var rotate( _get_rotate, _set_rotate ): Float;
>>
>>
>> private function _get_rotate():Float
>> {
>> switch( _orientationRotation )
>> {
>> case X:
>> return _get_rotation_X();
>> case Y:
>> return _get_rotation_Y();
>> }
>> }
>>
>>
>> private function _set_rotate( val: Float ):Float
>> {
>>
>> switch( _orientationRotation )
>> {
>> case X:
>> return _set_rotation_X( val );
>> case Y:
>> return _set_rotation_Y( val );
>> }
>> }
>>
>>
>> private function _get_rotation_X():Float
>> {
>> return _holder.rotationX;
>> }
>>
>> private function _set_rotation_X( val: Float ):Float
>> {
>>
>> _holder.rotationX = val;
>> return val;
>>
>> }
>>
>>
>> private function _get_rotation_Y():Float
>> {
>> return _holder.rotationY;
>> }
>>
>> private function _set_rotation_Y( val: Float ):Float
>> {
>>
>> _holder.rotationY = val;
>> return val;
>>
>> }
>>
>>
>>
>> public function addNob( doorNob: Mesh )
>> {
>>
>> _doorNob.addChild( doorNob );
>>
>> }
>>
>>
>> public function addLeg( doorleg: Mesh )
>> {
>>
>> _doorLeg.addChild( doorleg );
>>
>> }
>>
>> private var _holder: ObjectContainer3D;
>> public var _hi: Float;
>> public var _wide: Float;
>>
>> private var _orientationRotation: Orientation;
>> public var _doorNob: ObjectContainer3D;
>> private var _doorLeg: ObjectContainer3D;
>>
>>
>> /**
>> * @Constructor
>> */
>> public function new( rectangle_: Rectangle, opening_: Open )
>> {
>>
>> super();
>> _hi = rectangle_.height;
>> _wide = rectangle_.width;
>> _doorNob = new ObjectContainer3D();
>> _doorLeg = new ObjectContainer3D();
>>
>> switch( opening_ )
>> {
>> case left:
>> _orientationRotation = Orientation.Y;
>> _doorNob.x += _wide/2;
>> _doorLeg.x += _wide;
>>
>> case right:
>> _orientationRotation = Orientation.Y;
>> _doorNob.x -= _wide/2;
>> _doorLeg.x -= _wide;
>>
>> case top:
>> _orientationRotation = Orientation.X;
>> _doorNob.y -= _hi/2;
>> _doorLeg.y -= _hi;
>>
>> case bottom:
>> _orientationRotation = Orientation.X;
>> _doorNob.y += _hi/2;
>> _doorLeg.y += _hi;
>>
>> }
>>
>> _holder = new ObjectContainer3D();
>> _holder.addChild( _doorNob );
>> _holder.addChild( _doorLeg );
>>
>> addChild( _holder );
>>
>> }
>>
>>
>> }
>>
>>
>>
>>
>>
>>
>>
>> On 22 Apr 2010, at 13:07, Colir wrote:
>>
>>> Hi,
>>> I asking me what is the better approach to fold a bitmap like in this
>>> website :
>>> http://www.bloodstream.com.br/
>>>
>>> in my case i want to fold and unfold a bitmap in two piece (like some
>>> alarm clock)
>>>
>>> Do you think is better to use 2 plan with each one have a part of the
>>> bitmap,
>>> or i can fold directly a plan ? how ? must use AS3Dmod ?
>>>
>>> Thanks for you help
>>>
>>>
>>> --
>>> Subscription settings:
>>> http://groups.google.com/group/away3d-dev/subscribe?hl=en
>>
>