Программирование игр для Windows. Советы профессионала


Моделирование реального мира


Хоть в нашей игре реальный мир будет, в основном, составлен из стен, тем не менее, мы должны хотя бы вкратце обсудить эту тему. Конечно, вам захочется, чтобы в вашей игре были те эффекты, с которыми вы сталкиваетесь в реальном мире и которые вызываются силами трения, притяжения, сохранения импульса и т. д. Например, без них не обойтись при имитации скачек, при запуске ракеты в  военных играх и при столкновении шаров в симуляторе бильярда. В любом  лyчae, я хочу вам преподать маленький курс основ механики.

Каждый из нас знает, что такое скорость. Это просто изменение расстояния за  единицу времени. Например, если я хочу перемещать объект со скоростью два пикселя в секунду, я могу это сделать так:

 Object_Position += 2;

Если вы посмотрите на координаты объекта как на функцию времени, та увидите график, приведенный на рисунке 11.9.

Что такое ускорение? Ускорение - это изменение скорости за единицу времени или, другими словами, приращение скорости. Когда вы в своем автомобиле нажимаете на акселератор, то скорость становится все 6ольше ибольше. Ускорение может быть записано в следующем виде:

Object_Position += velocity;

velocity += acceleration_factor;

Приведенный фрагмент программы увеличивает скорость. Это выглядит как ускорение. Чаще всего мы сталкиваемся с ускорением свободного падения. Когда объект падает на землю, его ускорение составляет 9,8 м/сек . То есть если в первую секунду падения его скорость достигнет 9,8 м/сек, то во вторую она вырастет до 19,6 м/сек.

Чтобы увидеть, как это осуществляется, посмотрим на текст программы в Листинге 11.5. Она показывает падение мяча под действием силы тяжести. Вы можете изменять ускорение с помощью клавиш + и -.

Листинг 11.5. Падение мяча (BALL.C).

// ВКЛЮЧАЕМЫЕ ФАЙЛЫ ///////////////////////////////

#include <stdio.h>

#include <math.h>

#include <graph.h>                                                 

//определения //////////////////////////

#define EARTH_GRAVITY 9.8

//ГЛОБАЛЬНЫЕ

ПЕРЕМЕННЫЕ




Начало  Назад  Вперед



Книжный магазин