1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
...
public Sprite[] m_World = new Sprite[2];
public AnimatedSprite m_Player = new AnimatedSprite();
public Surface m_Screen,
m_Game;
public void Go()
{
Video.WindowCaption = "Window";
m_Screen = Video.SetVideoMode(200, 200);
m_Game = new Surface(new Rectangle(new Point(0, 0), new Size(200, 200)));
Keyboard.EnableKeyRepeat(100, 100);
m_World[0] = new Sprite("floor.png");
m_World[1] = new Sprite("sky.png"); // png transparent
...
Events.KeyboardDown += new EventHandler<KeyboardEventArgs>(Events_KeyboardDown);
Events.KeyboardUp += new EventHandler<KeyboardEventArgs>(Events_KeyboardUp);
Events.Quit += new EventHandler<QuitEventArgs>(this.Quit);
Events.Tick += new EventHandler<TickEventArgs>(Events_Tick);
Events.MouseButtonDown += new EventHandler<MouseButtonEventArgs>(Events_MouseButtonDown);
Events.Run();
}
...
void Events_Tick(object sender, TickEventArgs e)
{
m_Game.Fill(Color.Aqua);
...
DrawLevel();
...
Gravity(m_World,m_Player);
...
m_Game.Blit(m_Player);
m_Screen.Blit(m_Game);
m_Screen.Update();
}
public void Gravity(Sprite[] world, AnimatedSprite player)
{
Color PixelColor = m_Game.GetPixel(new Point(player.X, (player.Y + player.Height + 2)));
if (PixelColor.Equals( Color.FromArgb(255, 0, 255,255)))
player.Y+=2; |
Partager