MonoGame - Få bilden att röra på sig
Skapa ett nytt program som innehåller två bilder. Den ena bilden ska röra sig fram och tillbaka någonstans i den vänstra halvan av spelfönstret, den andra bilden ska röra sig fram och tillbaka någonstans i den högra halvan.
Så här ser min kod ut:
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
namespace Uppgift_8._3
{
public class Game1 : Game
{
private GraphicsDeviceManager graphics;
private SpriteBatch spriteBatch;
Texture2D parrotBild, snakeBild;
Vector2 parrotPosition = new Vector2(50, 100);
Vector2 parrotHastighet = new Vector2(2, 0);
Vector2 snakePosition = new Vector2(500, 100);
Vector2 snakeHastighet = new Vector2(2, 0);
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
IsMouseVisible = true;
}
protected override void Initialize()
{
// TODO: Add your initialization logic here
base.Initialize();
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
parrotBild = Content.Load<Texture2D>("parrot");
snakeBild = Content.Load<Texture2D>("snake");
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
Exit();
parrotPosition += parrotHastighet;
if (parrotPosition.X > 200 || parrotPosition.X < 50)
{
parrotHastighet *= -1;
}
snakePosition += snakePosition;
if (snakePosition.X > 500 || snakePosition.X < 400)
{
snakePosition *= -1;
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.Draw(parrotBild, parrotPosition, Color.White);
spriteBatch.Draw(snakeBild, snakePosition, Color.White);
spriteBatch.End();
base.Draw(gameTime);
}
}
}
Jag får papegojan att ladda in i programmet men inte ormen. Vad beror det på?
Kod infogad med {:} samt indenterad så att det faktiskt går att läsa den. /Dracaena
Den ena filen kanske inte finns. Hur blir det om du byter namnen i programmet så "parrot" blir "snake" och tvärtom?
Det händer ingenting, nu blev det endast ormen.
Hur brett är fönstret? Är det 500?
Så här ser det ut:
Prova att lägga den andra bilden på 300,100 i stället för 500,100.
Jag provade men det gick inte.
Då har jag inga fler idéer.
Tack ändå att du vägledde mig och försökte lösa problemet.