Предыдущая Следующая
spriteBatch.Draw(gameLevel, new Vector2(screenWidth/2 — gameLevel.Width / 2, screenHeight / 2 — gameLevel.Height/2), Color.White);
В идеале в игре вы можете создать базовую фоновую заставку и использовать ее на любом участке игровых состояний, определяя, что именно вы хотите видеть поверх этой заставки. И не забывайте об очередности рисования на экране графики, все то, что вызывается в методе Draw() позже, соответственно и рисуется позже. В листинге 14.1 представлен полный исходный код класса Gamel. Файлы последнего проекта двухмерной игры для приставки Xbox 360 находятся на диске в папке Code\Chapter14\NewLevels.
//=========================================================================
/// <summary>
Проект NewLevels 255
/// Листинг 14.1
/// Исходный код к книге:
/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»
/// Автор книги: Горнаков С. Г.
/// Глава 14
/// Проект: NewLevels
/// Класс: Gamel
/// Новые уровни
/// <summary>
//=========================================================================
#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 NewLevels {
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; SpriteBatch spriteBatch; Sprite[] sprite = new Sprite[5]; private Texture2D background;
Random rand = new Random(); int screenWidth, screenHeight; int j = 0; Sprite platform;
private bool paused = false;
private bool pauseButtonsStart = false;
public BoundingBox bbplatform;
public BoundingBox[] bb = new BoundingBox[5]; int score0, score1, score2, score3, score4;
Menu menu;
private bool menuState; private int cursorState;
private int totalScore; private int endScore; private bool gameState; private bool levelState; private int level; private int tempLevel; private Texture2D gameLevel;
256 Добавляем в игру новые уровни
private Texture2D pausedTexture;
/// <summary> /// Конструктор /// <summary> public Game1() {
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; screenWidth = graphics.PreferredBackBufferWidth; screenHeight = graphics.PreferredBackBufferHeight; for (int i = 0; sprite.Length > i; Предыдущая Следующая
|