Permalänk
Medlem

Hjälp med kodning i XNA.

Tja!

Jag sitter och jobbar lite med ett simpelt spel som jag skriver i XNA. Jag är nybörjare men har kunskaper inom C#.

I alla fall, mitt problem, jag vill kunna flytta mig över spelytan genom att röra musen i det håll jag vill scrolla spelytan. Jag har lagt in min bakgrundsbild i en rektangel.
För att sedan scrolla den försökte jag mig på en enkel kod:

public void Update(GameTime gameTime) { MouseState current_mouse = Mouse.GetState(); int mouseX = current_mouse.X; int mouseY = current_mouse.Y; if (mouseX >= 700) { pos.Y -= speed * konstant * (float)gameTime.ElapsedGameTime.TotalSeconds; } if (mouseX <= 300) { pos.Y += speed * konstant * (float)gameTime.ElapsedGameTime.TotalSeconds; } if (mouseY >= 700) { pos.X += speed * konstant * (float)gameTime.ElapsedGameTime.TotalSeconds; } if (mouseY <= 300) { pos.X -= speed * konstant * (float)gameTime.ElapsedGameTime.TotalSeconds; }

}

Detta funkar till en viss del, men inte när man till exempel har scrollat en lång bit till höger så man inte längre kan nå X-kordinaten 300 på skärmen.
Så, finns det någon som har ett förslag på hur jag kan göra för att få detta att fungera?

Permalänk
Medlem

kolla pvjneji på youtube. Brukar kolla där ibland, han gör filmer för C# och xna.

Edit: Funkar det inte med antingen att köra > och <?

Kanske lite mer source code tack, gör det enklare.

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
AzireVPN - Felkod40

Permalänk
Medlem

En annan lösning är t.ex

psuedokod:

MouseState m_currentMouseState; MouseState m_previousMouseState; void Update(float dt) { m_currentMouseState = mouse.getstate(); Vector2 mouseDelta = new vector2(m_previousMouseState.x - m_currentMouseState.x, m_previousMouseState.y - m_currentMouseState.y); pos += mouseDelta; m_previousMouseState = m_currentMouseState; }

kanske ska byta håll på staten, vet inte riktigt, klockan är mycket

Visa signatur

Laptop - MacBook 2.0GHz, 4GB ram, Intel GMA 950
Stationär - i5 3570k @ 4ghz, 8gb ram, 120gb ssd + 2tb hdd, Windows 8 64bit, fractal design arc
Citera så jag hittar tillbaka :)