Difference between revisions of "GIObject.MoveRotateAndScale"
1>Admin (Created page with "{{infobox function |name=MoveRotateAndScale |object=Объект GI#Атрибуты и функции графических объектов|Графический объ...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 08:53, 22 January 2025
MoveRotateAndScale (Функции графических объектов) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция изменяет внутренние переменные смещения графического объекта, его поворота и его масштаба, которыми система обновляет текущую проекцию объекта каждый раз до начала его рисования. Матрица смещения поворота и масштара применяется дополнительно к глобальной матрице-проекции объекта GI. См. также MoveAndRotate.
Синтаксис
GIObject.MoveRotateAndScale(<Смещение объекта по X (REAL)>,<Смещение объекта по Y (REAL)>,<Смещение объекта по Z (REAL)>,<Поворот объекта вокрут оси X (REAL)>,<Поворот объекта вокрут оси Y (REAL)>,<Поворот объекта вокрут оси Z (REAL)>,<Масштаб объекта по X (REAL)>,<Масштаб объекта по Y (REAL)>,<Масштаб объекта по Z (REAL)>)
Аргументы
<Смещение объекта по X (REAL)>,<Смещение объекта по Y (REAL)>,<Смещение объекта по Z (REAL)>
- Аргументы задают линейные смещения визуального объекта относительно камеры. Любой из аргументов может быть опущен, в этом случае соответствующее смещение не будет изменяться.<Поворот объекта вокрут оси X (REAL)>,<Поворот объекта вокрут оси Y (REAL)>,<Поворот объекта вокрут оси Z (REAL)>
- Аргументы задают угловой поворот объекта относительно одной из осей в ракурсе камеры. Поворот задается в градусах. Любой из аргументов может быть опущен, в этом случае соответствующая переменная поворота не будет изменена.<Масштаб объекта по X (REAL)>,<Масштаб объекта по Y (REAL)>,<Масштаб объекта по Z (REAL)>
- Аргументы задают множители размеров объекта для каждой из осей в ракурсе камеры. Множитель 1 означает, что соответствующий масштаб не будет больше или меньше оригального. Любой из аргументов может быть опущен, в этом случае соответствующая переменная масштаба не будет изменена.
Примеры
//Фрагмент из файла tetris.sfo //Сдвигаем следующую фигуру в требуемое место на экране аШир3:=0;аВыс3=0; ШиринаВысотаФигуры(лкСледующаяФигура[1],аШир3,аВыс3); лкОбъекты[3].MoveRotateAndScale(-(лкСмещениеСтаканаX+dx*6+(4*dx-аШир3*dx2)\2),-(лкСмещениеСтаканаY+dx+max(0,3*dx-dx-аВыс3*dx2)\2));