Шукати в цьому блозі

Matrix / трансформація по матриці

Matrix

Спадковість: Object

Підтримувані платформи:

   

Available since version: Gideros 2011.6

Опис:

Клас Matrix  трансформує зоображення спрайтів.  
Ці трансформація включають translation(зміщення), rotation(поворот), scaling(масштаб)та skewing(скіс)
Matrix   являє собою матрицю 2D трансформації 3 x 3  в однорідній системі координат:

Ви можете отримати та встановити значення всіх шести властивостей m11
Matrix.new(m11, m12, m21, m22, tx, ty)
m11-масштаб горизонталь
m12-масштаб вертикаль
m21-нахил горизонталь
m22-нахил вертикаль
tx-зміщення по осі х
tx-зміщення по осі y

за умовчанням матриця має значення:
Matrix.new(1, 0, 0, 1, 0, 0)

З версії Gideros 2016.6,  Matrix також може мати 3D  (4x4) матриці.

Приклади застосування:

Застосування матриці до об'єктів Sprite
local angle = math.rad(30)
-- створити skew(скіс) матрицею
local m = Matrix.new(1, math.tan(angle), math.tan(angle), 1, 0, 0)
--застосувати до Sprite
local sprite = Sprite.new()
sprite:setMatrix(m)
--розтягнути по горизонталі
local kartinka = Bitmap.new(Texture.new("image.png"))
kartinka:setMatrix(Matrix.new(2, 0, 0, 1, 0, 0))
stage:addChild(kartinka)

kartinka:setPosition(0, 50)
--дзеркально розвернути
local kartinka = Bitmap.new(Texture.new("image.png"))
kartinka:setMatrix(Matrix.new(1, 0, 0, -1, 0, 0))
stage:addChild(kartinka)

kartinka:setPosition(0, 50)
--нахил
Matrix.new(1, 0, -0.5, 1, 0, 0)
--поворот на кут 20 градусів
Matrix.new(cos(20), -sin(20),sin(20),cos(20),0,0)

Методи, події та властивості:

  Методи
  Matrix.new
  Matrix:getAnchorPosition
  Matrix:getElements
  Matrix:getM11
  Matrix:getM12
  Matrix:getM21
  Matrix:getM22
  Matrix:getMatrix
  Matrix:getPosition
  Matrix:getRotationX
  Matrix:getRotationY
  Matrix:getRotationZ
  Matrix:getScale
  Matrix:getScaleX
  Matrix:getScaleY
  Matrix:getScaleZ
  Matrix:getTx
  Matrix:getTy
  Matrix:getTz
  Matrix:getX
  Matrix:getY
  Matrix:getZ
  Matrix:invert
  Matrix:multiply
  Matrix:orthographicProjection
  Matrix:perspectiveProjection
  Matrix:perspectiveProjection
  Matrix:rotate
  Matrix:scale
  Matrix:setAnchorPosition
  Matrix:setElements
  Matrix:setM11
  Matrix:setM12
  Matrix:setM21
  Matrix:setM22
  Matrix:setMatrix
  Matrix:setPosition
  Matrix:setRotationX
  Matrix:setRotationY
  Matrix:setRotationZ
  Matrix:setScale
  Matrix:setScaleX
  Matrix:setScaleY
  Matrix:setScaleZ
  Matrix:setTx
  Matrix:setTy
  Matrix:setTz
  Matrix:setX
  Matrix:setY
  Matrix:setZ
  Matrix:transformPoint
  Matrix:translate

Немає коментарів:

Дописати коментар