//Archivo: cap2.cs
//Autor: Dark-N
using System;
using System.Drawing;
using SdlDotNet;
using SdlDotNet.Sprites;
namespace tutorial
{
public class cap2
{
Surface sur_leon;
Sprite spr_leon;
TextSprite texto;
public cap2()
{
//modo ventana, resolución 400x300
Video.SetVideoModeWindow(400, 300);
//surface leon
sur_leon = new Surface(@"..\..\Imagenes\leon.PNG");
//sprite leon en el centro de la pantalla
spr_leon = new Sprite(sur_leon);
//leon en el centro de la pantalla
spr_leon.Center = new Point(Video.Screen.Width/2,Video.Screen.Height/2);
//creamos un texto
SdlDotNet.Font fuente = new SdlDotNet.Font("../../fuentes/ARIAL.TTF", 14);
texto = new TextSprite("Prueba de Teclas", fuente, Color.Yellow, new Point(5,5));
Events.Tick += new TickEventHandler(Events_Tick);
}
private void Events_Tick(object sender, TickEventArgs e)
{
// Limpar la pantalla (dejarla negra)
Video.Screen.Fill(Color.Black);
//aquí LOGICA del nuestro juego
juego();
// Se actualiza la pantalla
Video.Screen.Update();
}
// lógica de nuestro juego
private void juego()
{
texto.Render(Video.Screen);
//OJO: tambien se puede usar BLIT
//Video.Screen.Blit(texto);
//al presionar las teclas del teclado se mueve el Sprite
if (SdlDotNet.Keyboard.IsKeyPressed(Key.UpArrow))
spr_leon.Y-=5;
if (SdlDotNet.Keyboard.IsKeyPressed(Key.DownArrow))
spr_leon.Y+=5;
if (SdlDotNet.Keyboard.IsKeyPressed(Key.LeftArrow))
spr_leon.X-=5;
if (SdlDotNet.Keyboard.IsKeyPressed(Key.RightArrow))
spr_leon.X+=5;
//igual se puede Video.Screen.Blit(spr_leon, new Point(0,0));
spr_leon.Render(Video.Screen);
}
public void Run()
{
Events.KeyboardDown +=new KeyboardEventHandler(this.Keyboard);
Events.Run();
}
private void Keyboard(object sender, KeyboardEventArgs e)
{
//Salimos del juego con tecla Escape
if(e.Key == Key.Escape)
{
Events.QuitApplication();
}
}
[STAThread]
public static void Main()
{
cap2 juego = new cap2();
juego.Run();
}
}
}
|