Предыдущая Следующая
}
328 Формируем трехмерную сцену
Целочисленное значение -32 пикселя по оси Y совпадает с поверхностью футбольного поля. Когда мячики по оси Y достигнут -32 пикселей, то они перестанут двигаться. Такой простой механизм позволяет создать в игре иллюзию остановки мячей на поверхности футбольного поля.
20.4. Небо и тучи
Задний фон за стадионом в игре закрашивается цветом. Сейчас это уже неактуально, и для формирования полноценной сцены необходимо создать небо, тучи и другие элементы пейзажа. Механика представления этих элементов в играх достаточно обширна. Поскольку игра «Футбольный стрелок» имеет статичную камеру и точка просмотра сцены не изменяется, то можно воспользоваться текстурой пейзажа и поставить это изображение за элементами сцены.
В большинстве игр этот механизм используется повсеместно, но если камера в игре двигается, то добавляется более сложный механизм, основанный либо на прокрутке текстуры фона в разных направлениях, либо на использовании кубических текстур для представления небесной оболочки (Sky Box). У нас вся трехмерная сцена попроще, поэтому вполне достаточно простой текстуры с пейзажем, установленной на заднем фоне игры.
Текстура пейзажа была взята с сайта Turbosquid.com. Это графическое изображение в формате JPG распространяется бесплатно. Пейзаж создан художником под именем Hal9000 (рис. 20.3).
Графическое изображение этого пейзажа оказалось очень большим по ширине (3000 пикселей), поэтому пришлось обрезать его по бокам, укоротив изображение по ширине до 1500 пикселей.
Для добавления фона в игру объявим новую переменную background.
private Texture2D background;
Изображение фона статично, поэтому можно обойтись и без объекта класса Sprite. После объявления объекта background в методе LoadGraphicsCon-tent() загружаем пейзаж в игру.
background = content.Load<Texture2D>(«Content\\Textures\\hallake0 01»);
А затем в методе Draw() рисуем его на экране телевизора.
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(background, new Vector2(0, -50), Color.White); spriteBatch.End();
При этом само изображение фона мы рисуем самым первым, не забывайте, что каждый последующий рисуемый элемент графики всегда накладывается поверх предыдущего!
Изображение hallake0 01 по высоте равно 500 пикселям. По оси Y мы сместили изображение вверх на 50 пикселей. Сделано это просто для красоты. То есть
Небо и тучи 329
после того как изображение было загружено, а игра запущенна на приставке, было подобрано оптимальное местоположение фона, исходя из общей картинки на экране телевизора. Предыдущая Следующая
|