32 using Microsoft.Xna.Framework.Graphics;
33 using Microsoft.Xna.Framework.Input;
44 private string _controlHelp = DefaultControlHelp;
45 private string _loadingText =
"Loading...";
50 public Label NameLabel {
get;
private set; }
55 public Label CopyrightLabel {
get;
private set; }
60 public Label AuthorsLabel {
get;
private set; }
71 public Label StartLabel {
get;
private set; }
76 public string ControlHelp
78 get {
return _controlHelp; }
81 if ( StartLabel.Text == _controlHelp ) StartLabel.
Text = value;
89 public string LoadingText
91 get {
return _loadingText; }
94 if ( StartLabel.Text == _loadingText ) StartLabel.Text = value;
105 #region Default dimensions 107 private static double DefaultWidth
119 private static double DefaultTextWidth
124 return Game.
Instance.
Phone.DisplayResolution == WP7.DisplayResolution.Small ? 300 : 500;
131 private static double DefaultHeight
143 private static double DefaultSpacing
148 return Game.
Instance.
Phone.DisplayResolution == WP7.DisplayResolution.Small ? 0 : 20;
155 private static string DefaultControlHelp
160 return "Start the game by tapping here";
162 return "Start the game by pressing A";
164 return "Start the game by pressing Enter";
174 public SplashScreen(
string gameName,
string authors,
string copyright,
string textBody )
175 : base( DefaultWidth, DefaultHeight )
179 NameLabel = InitializeTextDisplay( gameName,
Color.
Red );
180 CopyrightLabel = InitializeTextDisplay( copyright,
Color.
Blue );
181 AuthorsLabel = InitializeTextDisplay( authors,
Color.
Blue );
182 StartLabel = InitializeTextDisplay( ControlHelp,
Color.
Green );
184 double targetWidth = 2 * this.Width / 3;
185 NameLabel.TextScale =
new Vector( targetWidth / NameLabel.TextSize.X, 2 );
191 TextBody.Width = DefaultTextWidth;
193 TextBody.Color =
new Color( 0, 0, 255, 4 );
195 if ( DefaultTextWidth < 500 )
200 TextBody.Text = textBody;
218 Add( CopyrightLabel );
224 private void BeginLoad(
Label aloitusohje )
227 if ( aloitusohje.
Text == LoadingText )
231 aloitusohje.
Text = LoadingText;
235 private void ResumeLoad()
238 if ( GameStarted != null )
242 private Label InitializeTextDisplay(
string text,
Color textColor )
248 kentta.
Width = DefaultTextWidth;
HorizontalAlignment
Asemointi vaakasuunnassa.
PhoneBackButton PhoneBackButton
Back-nappi (Windows Phone 7)
static readonly Color Green
Vihreä.
static readonly Color Black
Musta.
static readonly Color Red
Punainen.
Listener Listen(Button button, ButtonState state, Handler handler, string helpText)
static readonly Font DefaultLarge
Suuri oletusfontti.
static Jypeli.Controls.Controls Controls
Pelin kontrollit.
TouchPanel TouchPanel
Kosketusnäyttö (Windows Phone 7)
ButtonState
Napin (minkä tahansa) asento.
double Height
Näytön korkeus y-suunnassa.
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
Peliluokka reaaliaikaisille peleille.
static void SingleShot(double seconds, Action onTimeout)
Kutsuu aliohjelmaa onTimeout annetun ajan kuluttua. Ajastin luodaan automaattisesti.
Listener InContext(ListenContext context)
Kuuntelee tapahtumaa vain tietyssä kontekstissa.
GamePad [] GameControllers
Peliohjaimet 1-4.
Asettelee widgetit päällekäin, järjestyksessä ylhäältä alas.
Phone Phone
Phone-olio esim. puhelimen tärisyttämiseen.
Listener Listen(Key k, ButtonState state, Handler handler, String helpText)
static readonly Color Blue
Sininen.
Ajastin, joka voidaan asettaa laukaisemaan tapahtumia tietyin väliajoin.
VerticalAlignment
Asemointi pystysuunnassa.
double Width
Olion leveys (X-suunnassa, leveimmässä kohdassa).
Listener Listen(MouseButton b, ButtonState state, Handler handler, string helpText)
Kuuntelee hiiren nappulan painalluksia.
void Exit()
Lopettaa pelin.
double Width
Näytön leveys x-suunnassa.
static readonly Font DefaultSmall
Pieni oletusfontti.
Keyboard Keyboard
Näppäimistö.