Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Листинг 4.5. Описание астероида





Object asteroid;

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

asteroid.num_vertices = 6; //шести вершин будет достаточно

asteroid.color = 1; //цвет астероида - синий

asteroid.х0 = 320; // поместить астероид в центр экрана

asteroid.у0 = 240;

//теперь задаем координаты вершин как смещения относительно точки х0, у0

asteroid.vertices[0].х = 4.0;

asteroid.vertices[0].у = 3.5;

asteroid.vertices[1].х = 8.5;

asteroid.vertices[1].у = -3.0;

asteroid.vertices[2].x = 6;

asteroid.vertices[2].у = -5;

asteroid.vertices[3],x = 2;

asteroid.vertices[3].у = -3;

asteroid.vertices[4].х = -4;

asteroid.vertices[4].у = -6;

asteroid.vertices[5].х = -3.5;

asteroid.vertices[5].у = 5.5;

Конечно, в настоящих играх вам не придется так определять все свои объекты. Напротив, вы можете загрузить координаты вершин из файла или сгенерировать их (например, AutoCad использует формат DXF, содержащий списки вершин вместе с другими свойствами объекта; после того как DXF-файл загружен, координаты вершин считываются из него в соответствующие структуры). Но поскольку мы создаем всего один астероид, то можно описать его и вручную.

Теперь давайте чуть-чуть подумаем. Мы можем нарисовать вершины объекта относительно его положения на экране, которое описывается как (хо,уо). Если же мы хотим передвинуть объект, то можно сделать так:

 

x0=x0+dx

y0=y0+dy

 

где dx и dy — это количество пикселей, на которое мы хотим переместить объект по оси Х или Y.

Это все, что можно сказать о трансляции объектов. Теперь поговорим о масштабировании.

Масштабирование объектов

Масштабирование означает изменение размера объекта. Посмотрим для примера на рисунок 4.8. Астероид на нем в два раза больше, чем на рисунке 4.7. Это во многом объясняет принципы масштабирования. Все, что нам надо сделать, это умножить координаты каждой из вершин объекта на коэффициент масштабирования. Фрагмент кода в Листинге 4.6 показывает, как это делается для структуры объекта, определенной нами ранее.

 

Date: 2015-09-18; view: 377; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию