Перейти к содержанию

Справка по модулю Game

Материал из Викиучебника — открытых книг для открытого мира

Модуль Game - модуль, предоставляющий возможность создания простых игр в системе программирования PascalABC.Net.

Физика

[править]

Обработка физики происходит циклически-автоматически. Физический движок является встроенным в модуль Game.

Движение

[править]
Процедура Описание
SetForce(x,y,i:integer);
Устанавливает скорость движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetMaxForce(x,y,i:integer);
Устанавливает максимальную скорость движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetMinForce(x,y,i:integer);
Устанавливает минимальную скорость движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetAcceleration(x,y,i:integer);
Устанавливает ускорение движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetRange(_r, index: integer);
Устанавливает количество циклов, через которое к объекту, с индексом i в массиве Objects применяется ускорение.

Вращение

[править]
Процедура Описание
SetRotationForce(_z: real;i:integer);
Устанавливает скорость движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetMaxRotationForce(_z: real; i:integer);
Устанавливает максимальную скорость движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetMinRotationForce(_z: real; i:integer);
Устанавливает минимальную скорость движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetRotationAcceleration(_z: real; i:integer);
Устанавливает ускорение движения по осям x и y объекта, индекс которого в массиве Objects - i.
SetRotationRange(_r, index: integer);
Устанавливает количество циклов, через которое к объекту, с индексом i в массиве Objects применяется ускорение.

Примеры

[править]
Код примера Описание
uses
   GraphABC, ABCObjects, Game;

var
   D: integer;

begin
   SetWindowHeight(520);
   SetWindowWidth(520);
   for D := 0 to 4 do
   begin
      new CircleABC(Random(400) + 20, Random(400) + 20, 20, clrandom);
      SetType(dinamic, D); SetMinForce(-5, -5, D); SetMaxForce(5, 5, D); SetForce(Random(3)-Random(3), Random(3)-Random(3), D); SetAcceleration(1, 1, D);
   end;
   new RectangleABC(1, 1, 800, 20, clBlack);
   new RectangleABC(1, 500, 800, 20, clBlack);
   new RectangleABC(1, 1, 20, 800, clBlack);
   new RectangleABC(500, 1, 20, 800, clBlack);
   SetType(dinamic,7); SetType(dinamic,8); SetType(dinamic,9); SetType(dinamic,10);
   SetMass(100,7); SetMass(100,8); SetMass(100,9); SetMass(100,10);
end.
Создается 5 шариков, скачущих в разном направлении. Сталкиваясь со стенками они отталкиваются от них.

Скачать модуль можно здесь: открыть.

Где использовать

[править]
  • Можно использовать для создания презентаций. Например кинуть надпись сверху и она отскочет от невидимой границы снизу.
  • В простых играх, где действующих объектов мало.