Great example. Thx. Found the solution in the "Making things move" book on page 182. You can find it online here.
http://books.google.com/books?id=nzyu5TytMEUC&pg=PA182&lpg=PA182&dq=actionscript+3+motion+throw&source=bl&ots=RdqTuqvq10&sig=Th8_YxbsIVj8GGiKAaHcCY0tPb4&hl=en&ei=0R_xSY_eLMaclQfCroDGDA&sa=X&oi=book_result&ct=result&resnum=1 --- In [email protected], Josh McDonald <j...@...> wrote: > > Here's a working example I whipped up in 15 minutes: > > http://pastie.textmate.org/private/mmmbwwnwl0ly2ciurwvda > > -Josh > > 2009/4/24 flexaustin <flexaus...@...> > > > > > > > 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 [email protected] <flexcoders%40yahoogroups.com>, Nate > > Beck <nate@> 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 <josh@>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 <flexaustin@> > > > > > > > >> > > > >> > > > >> 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 > > > > - josh@ > > > > - http://twitter.com/sophistifunk > > > > - http://flex.joshmcdonald.info/ > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Cheers, > > > Nate > > > ---------------------------------------- > > > http://blog.natebeck.net > > > > > > > > > > > > > -- > "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/ >

