TransformSprite()
Синтаксис
TransformSprite(#Sprite , x1 , y1 , [z1] , x2 , y2 , [z2] , x3 , y3 , [z3] , x4 , y4 , [z4])
Описание
Трансформирует Спрайт в новые заданные координаты. Обычно используется для выполнения преобразований в реальном времени.
Параметры
x1, y1 Координата первой точки в пикселях. x2, y2 Координата второй точки в пикселях. x3, y3 Координата третьей точки в пикселях. x4, y4 Координата четвёртой точки в пикселях. z1, z2, z3, z4 Значение 'z', которое определяет 'глубину' точек. Значение 0 - не отображает часть Спрайта. Одинаковые параметры 'Z' не влияют на результат.
Возвращаемое значение
Ничего.
Примечания
Обычно, результат функции выглядит как "деформация координатной сетки x1-x2-x3-x4", на которой отображается Спрайт.
Внимание, поскольку Спрайт состоит из 2 вершин (2 треугольников), преобразование может дать очень странный результат...
Если указан один из необязательных параметров 'Z', должны быть указаны все. (?); ; X1 X2 ; --------- ; | /| ; | / | ; | / | ; |/ | ; --------- ; x4 x3 ;
Пример (фран.)
InitSprite() OpenScreen(800,600,32,"Sprite") ;Спрайт цель 0 CreateSprite(0,100,100) StartDrawing(SpriteOutput(0)) Circle(50,50,49,RGB(255,255,0)) Circle(50,50,40,RGB(0,255,0)) Circle(50,50,30,RGB(0,255,255)) Circle(50,50,20,RGB(0,0,255)) Circle(50,50,10,RGB(255,0,0)) StopDrawing() ;Спрайт цель 1 CopySprite(0, 1) ;Цикл For i=-100 To 100 ;Отображение цель 0 и цель 1 DisplaySprite(0, 200, 160) DisplaySprite(1, 500, 160) ;Трансформация цель 0 и цель 1 TransformSprite(0,i,i,100,0,100-i,100-i,0,100) TransformSprite(1,0,0,100-i,0+i,100-i,100-i,0,100) ;переключим буфер (отобразим на экране) FlipBuffers() ;очистим буфер ClearScreen(RGB(0,0,0)) ;Задержка 100 мсек. Delay(100) Next i
См. также
ZoomSprite(), RotateSprite()
Поддерживаемые OS
Все