Esimerkki pelin lopettamisesta
The snippet can be accessed without any authentication.
Authored by
Denis Zhidkikh
Peli loppuu (mennään alkuvalikkoon, kun painetaan Esc
).
peli.cs 1.79 KiB
using System;
using System.Collections.Generic;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
public class ClearAllTest : PhysicsGame
{
public override void Begin() { NaytaAlkuValikko(); }
void NaytaAlkuValikko()
{
ClearAll();
MultiSelectWindow msw = new MultiSelectWindow("Minun paras peli",
"Aloita peli",
"Lopeta peli");
msw.AddItemHandler(0, NaytaPeli);
msw.AddItemHandler(1, Exit);
Add(msw);
}
void NaytaPeli()
{
// ClearAll tyhjentää KAIKEN: näppäimistöasettelut, oliot, painovoimat, IntMeterit, jne
// Siispä peli voidaan alustaa ihan tyhjästä
ClearAll();
Gravity = new Vector(0, 0);
Timer.CreateAndStart(0.5, delegate
{
Vector randomPosition = RandomGen.NextVector(Level.BoundingRect);
Vector randomDirection = RandomGen.NextVector(1, 10000);
double r = RandomGen.NextDouble(1, 100);
PhysicsObject ball = new PhysicsObject(r * 2, r * 2, Shape.Circle);
ball.Position = randomPosition;
ball.Color = RandomGen.NextColor();
Add(ball);
ball.Push(randomDirection);
});
Keyboard.ListenWSAD(ButtonState.Down,
delegate(Vector suunta) { Gravity += 10 * suunta; },
"Liikuta painovoimaa");
// Pelissä Esc poistuu alkuvalikkoon, eli lopettaa pelin
// Vaihtoehtoisesti kutusu ConfirmExit tai Exit sulkeakseen koko peli
Keyboard.Listen(Key.Escape, ButtonState.Pressed, NaytaAlkuValikko,
"Poistu alkuvalikkoon");
Camera.ZoomToLevel();
}
}
Please register or sign in to comment