Предыдущая Следующая
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace Menu
{
class HelpScreen
340 Последние штрихи
Создаем меню игры 341
{
public Texture2D screen; public Texture2D title; public Texture2D esc;
public Texture2D[] hole = new Texture2D[30]; public Vector2[] position = new Vector2[30]; Random rand = new Random();
private ModelClass[] ball = new ModelClass[3];
static float aspectRatio;
static float FOV = MathHelper.PiOver4;
static float nearClip = 1.0f;
static float farClip = 1000.0f;
float angle;
Matrix view;
Matrix proj;
Matrix world;
Matrix rotationMatrixY;
Matrix rotationMatrixZ;
/// <summary>
/// Загрузка компонентов заставки /// <summary>
public void InitializeHelpScreen(ContentManager content, int x, int y)
{
screen = content.Load<Texture2D>("Content\\Textures\\help"); title = content.Load<Texture2D>("Content\\Textures\\title"); esc = content.Load<Texture2D>("Content\\Textures\\esc"); for (int i = 0; hole.Length > i;
{
hole[i] = content.Load<Texture2D>("Content\\Textures\\hole");
}
for (int i = 0; position.Length > i;
{
position[i].X = rand.Next(2 0, x - 60); position[i].Y = rand.Next(100, y - 60);
}
for (int i = 0; ball.Length > i; {
ball[i] = new ModelClass();
}
Позиции для мячей заданы, что называется, с потолка, главным здесь было одно условие: не задавать слишком большие значения по двум осям X и Y, дабы мячики при вращении не вышли из области видимости экрана.
ball[0].Load(content, "Content\\Models\\Soccerball"); ball[0].position = new Vector3(-30, 40, -30); ball[1].Load(content, "Content\\Models\\SoccerballGreen"); ball[1].position = new Vector3(50, 30, -50);
ball[2].Load(content, "Content\\Models\\SoccerballRed"); ball[2].position = new Vector3(-50, -30, 40);
aspectRatio = (float)x / (float)y;
}
/// <summary>
/// Рисуем заставку
/// <summary>
public void DrawScreen(SpriteBatch spriteBatch, GraphicsDeviceManager graphics, int x, int y, GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.DarkGreen); spriteBatch.Begin(SpriteBlendMode.AlphaBlend); Предыдущая Следующая
|