HU/dxDrawImageSection: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 39: Line 39:


==Példa==  
==Példa==  
Ez a példa kirajolza a kép egy részét. (Használhatja ezt a képet [http://i1325.photobucket.com/albums/u630/Tourmalinelisa2/128x128.jpg this] a teszteléshez.)
Ez a példa kirajolza a kép egy részét. (Használhatja [http://i1325.photobucket.com/albums/u630/Tourmalinelisa2/128x128.jpg ezt] a képet a teszteléshez.)
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler('onClientRender', root, function()
addEventHandler('onClientRender', root, function()

Revision as of 13:01, 23 October 2018

Differing from dxDrawImage, this function only draws a part of an image on the screen for a single frame. In order for the image to stay visible continuously, you need to call this function with the same parameters on each frame update (see onClientRender).

Jobb esetben a képek dimenziója a 2 négyzete, ez azért fontos, hogy elkerüljük a lehetséges elmosodását a képnek.
A kettő négyzetei: 2px, 4px, 8px, 16px, 32px, 64px, 128px, 256px, 512px, 1024px, stb...


[[{{{image}}}|link=|]] Tipp: Használd a(z) dxCreateTexture által létrehozott textúrákat, hogy felgyorsítsd a rajzolását a képnek.
[[{{{image}}}|link=|]] Tipp: Ahhoz, hogy megelőzd a kép sarkainak hibáját amikor felrajzolsz egy képet, tedd a(z) textureEdge-et "clamp"-ra, amikor meghívod a dxCreateTexture funkciót.

Szintaxis

bool dxDrawImageSection ( float posX, float posY, float width, float height,
                          float u, float v, float usize, float vsize, mixed image,
                        [ float rotation = 0, float rotationCenterOffsetX = 0, float rotationCenterOffsetY = 0,
                          int color = white, bool postGUI = false ] )

Kötelező paraméterek

  • posX: A kép abszolút X pozíciója a képernyő bal szélétől számolva.
  • posY: A kép abszolút Y pozíciója a képernyő bal szélétől számolva.
  • width: A kép abszolút szélessége
  • height: A kép abszolút magassága
  • u: A képből kirjazolt rész abszolút X kordinátája a képernyő felső sarkából számolva
  • v: A képből kirjazolt rész abszolút Y kordinátája a képernyő felső sarkából számolva
  • usize: A kép részének az abszolút szélessége
  • vsize: A kép részének az abszolút magassága
  • image: Either a material element or a filepath of the image which is going to be drawn. (.dds images are also supported). Image files should ideally have dimensions that are a power of two, to prevent possible blurring. Use a texture created with dxCreateTexture to speed up drawing.

Tetszőleges paraméterek

  • rotation: A kép tengelyforgása fokokban mérve.
  • rotationCenterOffsetX: Az abszolút X offset a kép közepétől számolva.
  • rotationCenterOffsetY: Az abszolút Y offset a kép közepétől számolva.
  • color: the color of the image, a value produced by tocolor or hexadecimal number in format: 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue).
  • postgui : A bool representing whether the image should be drawn on top of or behind any ingame GUI (rendered by CEGUI).

Visszatérési érték

Visszatérési értéke true, ha sikerült, egyébként false.

Példa

Ez a példa kirajolza a kép egy részét. (Használhatja ezt a képet a teszteléshez.)

addEventHandler('onClientRender', root, function()
  dxDrawImageSection(400, 200, 64, 64, 0, 0, 64, 64, 'img.jpg') -- Draw a certain section
  dxDrawImage(400, 300, 128, 128, 'img.jpg') -- Draw the whole image to be able to identify the difference
end)

Lásd még

Fordította