Предыдущая Следующая
Проект MoveSprite 113
8.1. Проект MoveSprite
Прежде всего в новом сформированном проекте MoveSprite в классе Sprite необходимо добавить новую переменную speedSprite, которая будет задавать скорость движения спрайта в пикселях.
public Vector2 speedSprite = new Vector2(0, 6);
В этом коде мы задаем скорость по оси X, равную нулю, а скорость по оси Y -равную 6 пикселям. Это означает, что по оси X положение спрайта будет оставаться всегда неизменным, а вот по оси Y на каждой новой итерации или одном проходе метода Update() класса Gamel текущее положение спрайта будет увеличиваться на 6 пикселей.
Теперь перейдем к исходному коду класса Gamel проекта MoveSprite. Посмотрим на весь исходный код этого класса в листинге 8.1, после чего приступим к его детальному анализу. Исходный код проекта MoveSprite находится на компакт-диске в папках Code\Chapter8\MoveSprite.
//=========================================================================
/// <summary>
/// Листинг 8.1
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" /// Автор книги: Горнаков С. Г. /// Глава 8
/// Проект: MoveSprite
/// Класс: 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 MoveSprite {
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; KeyboardState keyboardState; SpriteBatch spriteBatch;
Sprite sprite;
private Texture2D backgroundl; private Texture2D background2; Random rand = new Random();
/// <summary> /// Конструктор /// <summary> public Game1()
{
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 7 68; graphics.PreferMultiSampling = false; graphics.IsFullScreen = true; sprite = new Sprite(12, 10);
}
/// <summary> /// Инициализация /// <summary>
protected override void Initialize()
{
sprite.spritePosition = new Vector2(300, -200);
base.Initialize();
}
/// <summary>
/// Загрузка компонентов игры /// <summary> Предыдущая Следующая
|