todd when you talked about a virtual spring what was it you were talking about?
On Mon, Jan 26, 2009 at 1:46 PM, Todd Kerpelman <[email protected]> wrote: > Well, again, don't know how much this will help you, but in the past when > I've done a "camera following a moving object with a scrolling background", > I've attached a virtual spring from my camera to the position I want to go > to and then just let the spring drag my camera to the right place. If you > put on some pretty heavy damping, it ends up looking pretty good, and I > don't have to think about angles. :) > > Your spring code would probably look something like this... > > private function onEnterFrame(e:Event):void > { > > var accelX:Number = (_pointToFollow.x - this.x) * _k; > var accelY:Number = (_pointToFollow.y - this.y) * _k; > _velX += accelX; > _velY += accelY; > this.x += _velX; > this.y += _velY; > _velX *= _damping; > _velY *= _damping; > > } > > You probably want _k to be something in the .1 range, and _damping to be in > the .75 range. All of this assumes, by the way, that you're not rotating the > camera to match the rotation of the plane. > > But the book Jason recommended might have better ideas. I haven't read it > yet. > > --T > > > > On Sun, Jan 25, 2009 at 1:15 PM, Corban Baxter <[email protected]> wrote: > >> thanks todd. thats what I have been doing for the most part. I'm >> working on figuring out how to move the Camera sprite around on an >> angle. >> >> i've got script that makes the airplane point towards the mouse at all >> times. but thats the easy part. now i need the Camera sprite to move >> at a consistent rate at the same angle the plane is pointing. Just >> can't see to figure out what it take to do that. >> >> var minXMove:Number = 0; >> var minYMove:Number = 0; >> var maxXMove:Number = (levelMap.width - stage.stageWidth) * -1; >> var maxYMove:Number = (levelMap.height - stage.stageHeight) * -1; >> >> stage.addEventListener(Event.ENTER_FRAME, pointAtCursor); >> >> function movemap():void { >> >> >> //move on x-axis >> levelMap.x += speedX; >> >> if (levelMap.x >= minXMove) { >> levelMap.x = minXMove; >> } >> if (levelMap.x <= maxXMove) { >> levelMap.x = maxXMove; >> } >> >> >> //move on y-axis >> levelMap.y += speedY; >> >> if (levelMap.y >= minYMove) { >> levelMap.y = minYMove; >> } >> if (levelMap.y <= maxYMove) { >> levelMap.y = maxYMove; >> } >> } >> >> function pointAtCursor(e:Event) { >> >> // get relative mouse location >> var dx:Number = mouseX - plane.x; >> var dy:Number = mouseY - plane.y; >> speedX = (dx * -1); >> speedY = (dy * -1); >> >> // determine angle, convert to degrees >> var cursorAngle:Number = Math.atan2(dy,dx); >> var cursorDegrees:Number = 360*(cursorAngle/(2*Math.PI)); >> >> // point at cursor >> plane.rotation = cursorDegrees; >> >> plane.x -= (plane.x-mouseX) / 6; >> plane.y -= (plane.y-mouseY) / 6; >> >> movemap(); >> >> } >> >> the hard part is getting the speedX and speedY to be numbers that >> don't cause the map to fly to fast. Just not sure where to go from >> here. >> >> >> >> >> On Sun, Jan 25, 2009 at 2:42 PM, Todd Kerpelman <[email protected]> wrote: >> > Well, I'm no plane game expert, but here's probably how I'd approach >> it... >> > >> > Within your PlaneGame movie, create a child sprite called Camera. >> > >> > Make all your interface stuff children of the PlaneGame movie. But make >> the >> > background, your plane, the enemies, etc, all children of this Camera >> child >> > sprite. >> > >> > Then, when it comes to creating the "background scrolling below you" >> look, >> > don't have your background move at all. Only have the things that would >> > actually move in real life (planes and tanks and whatever) move. >> > >> > Instead, make your Camera sprite scale and/or move itself to track your >> > plane (or, even better, a point a couple hundred pixels in front of your >> > plane.) That will make it look like the background is moving, but it's >> > really staying in place. And it will simplify your planes and tanks and >> > bullets, because you can basically just look at each sprite's position >> and >> > velocity, without having to try and somehow compensate for a magical >> moving >> > background. >> > >> > For development purposes, by the way, I would start your game by not >> having >> > the camera move at all, and just making sure everything works right in a >> > tiny little world the size of your screen. Once that's working, then you >> can >> > enlarge the bounds of your world and start moving your camera around. >> > >> > Good luck! >> > >> > --T >> > >> > >> > >> > On Sun, Jan 25, 2009 at 11:16 AM, Corban Baxter <[email protected]> >> wrote: >> > >> >> hey guys! I'm trying to build a simplified version of >> >> http://www.miniclip.com/games/skies-of-war/en/. Mostly looking to >> >> replicated the movement. But I have no ideas on where to start. I'm >> >> having alot of trouble setting the angles correctly to give the >> >> background a constant speed but allowing it to change angles. I >> >> understand its going to be based on the planes current angle. But >> >> that's where I get confused on getting the speeds to not over lap and >> >> making it seem like it moving faster. Ok I'm rambling now. but I was >> >> hoping someone might be able to help me understand this better and >> >> give me some examples I could use to get moving. Any help would be >> >> great! thanks! >> >> >> >> -- >> >> Corban Baxter >> >> http://www.projectx4.com >> >> _______________________________________________ >> >> Flashcoders mailing list >> >> [email protected] >> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> >> > _______________________________________________ >> > Flashcoders mailing list >> > [email protected] >> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> > >> >> >> >> -- >> Corban Baxter >> http://www.projectx4.com >> _______________________________________________ >> Flashcoders mailing list >> [email protected] >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> > _______________________________________________ > Flashcoders mailing list > [email protected] > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > -- Corban Baxter http://www.projectx4.com _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

