I have the book now. I am trying to make it work and I am almost there, but the 
sprite is only glides correctly when thrown if I drag from top right to lower 
left or lower left to top right.

If I throw it directly to the right it moves up and if I throw it to directly 
to the left it goes down. If I throw it up it goes to the right. And if I throw 
it down it moves to the left.

Here is the code (_object is the sprite being throw):

if(_drag == true){
                                
                                var diffx:Number = initX - mx;
                                var diffy:Number = initY - my; 
                                
                                var speed:Number = 12;
                                var angle:Number = Math.atan2( diffx, diffy );
                                //var radians:Number = deg2rad(angle);
                                var xVel:Number = Math.cos(angle) * speed;
                                var yVel:Number = Math.sin(angle) * speed;
                                
                                function deg2rad(deg:Number):Number {
                                return deg * (Math.PI/180);
                            }
                            
                            function onLoop(evt:Event):void {
                                    _object.x += xVel;
                                    _object.y += yVel;
                                     
                                    xVel *= 0.9;
                                yVel *= 0.9;
                                
                                if (xVel < 0.05 && yVel < 0.05) {
                                        _drag = false;
                                         
_stage.removeEventListener(Event.ENTER_FRAME, onLoop, false);
                                }
                                     
                                }

                            
                            _stage.addEventListener(Event.ENTER_FRAME, onLoop, 
false, 0, true);
                                //get the velocity and direction and make it go 
another 100 pixels or more
                        }


--- In flexcoders@yahoogroups.com, Nate Beck <n...@...> wrote:
>
> Yup Josh is correct, creating a vector is the way to go...
> The "slowing down" force you're talking about is friction (at least in
> physics). If you're interested in this kind of stuff, I highly recommend
> picking up a copy of Keith Peters book:
> 
> http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_1?ie=UTF8&s=books&qid=1240464956&sr=8-1
> 
> Cheers,
> 
> On Wed, Apr 22, 2009 at 9:19 PM, Josh McDonald <j...@...>wrote:
> 
> >
> >
> > That sort of thing (a vector) is easy, once you've determined the direction
> > in radians, and a speed. Let's call it pixels-per-frame, to make things
> > simple. Note that this is typed in gmail, and will need tweaks!
> >
> > accuratePositionX = x;
> > accuratePositionY = y;
> >
> > velocityX = Math.cos(direction) * initialVelocity;
> > velocityY = Math.sin(direction) * initialVelocity;
> >
> > //Do every frame:
> > function updatePosition():void
> > {
> >     accuratePositionX += velocityX;
> >     accuratePositionY += velocityY;
> >
> >     x = Math.round(accuratePositionX);
> >     y = Math.round(accuratePositionY);
> >
> >     velocityX *= 0.9;
> >     velocityY *= 0.9;
> >
> >     if (velocityX < 0.05 && velocityX < 0.05)
> >         stopTheAnimation();
> > }
> >
> > Cheers,
> > -Josh
> >
> > 2009/4/23 flexaustin <flexaus...@...>
> >
> >>
> >>
> >> Does anyone know of a tutorial on actionscript and gravity. Not like
> >> dropping a ball, but like google maps where you drag an item and it keeps
> >> going in that direction but slowing down. So gravity in all directions
> >> something like a hockey puck.
> >>
> >> TIA
> >>
> >>
> >
> >
> > --
> > "Therefore, send not to know For whom the bell tolls. It tolls for thee."
> >
> > Josh 'G-Funk' McDonald
> >   -  j...@...
> >   -  http://twitter.com/sophistifunk
> >   -  http://flex.joshmcdonald.info/
> >
> >  
> >
> 
> 
> 
> -- 
> 
> Cheers,
> Nate
> ----------------------------------------
> http://blog.natebeck.net
>



Reply via email to