WaveEngine: mover un sprite

Recordar que los recursos (wpk) se generan con la utilidad Assets Exporter.
Luego, en visual studio, hay que marcar en las propiedades "Copy if newer"

MyScene.cs

#region Using Statements
using System;
using WaveEngine.Common;
using WaveEngine.Common.Graphics;
using WaveEngine.Common.Math;
using WaveEngine.Components.Cameras;
using WaveEngine.Components.Graphics2D;
using WaveEngine.Components.Graphics3D;
using WaveEngine.Framework;
using WaveEngine.Framework.Graphics;
using WaveEngine.Framework.Resources;
using WaveEngine.Framework.Services;
#endregion

namespace Prueba1_MovimProject
{
    public class MyScene : Scene
    {
        protected override void CreateScene()
        {            
            var camera2D = new FixedCamera2D("Camera2D") { BackgroundColor = Color.Black };
            EntityManager.Add(camera2D);

            Entity player = new Entity()
                    .AddComponent(new Transform2D())
                    .AddComponent(new Sprite("Content/ship.wpk"))
                    .AddComponent(new SpriteRenderer(DefaultLayers.Opaque))
                    .AddComponent(new PlayerBehavior());

            EntityManager.Add(player);
        }

        protected override void Start()
        {
            base.Start();

            // This method is called after the CreateScene and Initialize methods and before the first Update.
        }
    }
}


PlayerBehavior.cs

using System;
using WaveEngine.Common.Input;
using WaveEngine.Framework;
using WaveEngine.Framework.Graphics;
using WaveEngine.Framework.Services;

namespace Prueba1_MovimProject
{
    class PlayerBehavior : Behavior
    {
        [RequiredComponent]
        private Transform2D playerData;

        protected override void Update(TimeSpan gameTime)
        {
            if ((WaveServices.Input.KeyboardState.Up == ButtonState.Pressed))
            {
                playerData.Y -= 5;

            }

            if ((WaveServices.Input.KeyboardState.Down == ButtonState.Pressed))
            {
                playerData.Y += 5;

            }

            if ((WaveServices.Input.KeyboardState.Left== ButtonState.Pressed))
            {
                playerData.X -= 5;

            }

            if ((WaveServices.Input.KeyboardState.Right == ButtonState.Pressed))
            {
                playerData.X += 5;

            }
        }
    }
}


No hay comentarios:

Publicar un comentario