HU/dxDrawText

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

Kirajzol egy szöveget a képernyőre egy képkocka erejéig. Annak érdekében, hogy a szöveg folyamatosan látható maradjon, megkell hívnia ezt a függvényt ugyanazokkal a paraméterekkel minden egyes képfrissítésnél (lásd onClientRender).

Szintaxis

bool dxDrawText ( string text, float left, float top [, float right = left, float bottom = top, int color = white, float scaleXY = 1.0 [, float scaleY = 1.0 ],
                  mixed font = "default", string alignX = "left", string alignY = "top", bool clip = false, bool wordBreak = false,
                  bool postGUI = false, bool colorCoded = false, bool subPixelPositioning = false,
                  float fRotation = 0.0, float fRotationCenterX = 0.0, float fRotationCenterY = 0.0 ] )

Kötelező paraméterek

  • text: a rajzolni kívánt szöveg
  • left: a szöveg bal felső sarkának abszolút X koordinátája
  • top: a szöveg bal felső sarkának abszolút Y koordinátája

Tetszőleges paraméterek

  • right: a szövegdoboz jobb oldalának abszolút X koordinátája. Szöveges igazításhoz, vágáshoz és sortöréshéhez használatos.
  • bottom: a szövegdoboz alsó oldalának abszolút Y koordináta. Szöveges igazításhoz, vágáshoz és sortöréshéhez használatos.
  • color: a szöveg színe, az értéket megadhatja tocolor vagy 0xAARRGGBB használatával (AA = átlátszóság, RR = red, GG = green, BB = blue).
  • scale: a szöveg mérete.scale: (tetszőlegesen) megadható két float értékként is, azaz. scaleX, scaleY
  • font: Vagy egy egyedi DX font elem, vagy egy beépített DX betűtípus neve: Figyelem: Bizonyos betűtípusok nem kompatibilisek bizonyos nyelvekkel, mint például az arab.
    • "default": Tahoma
    • "default-bold": Tahoma Bold
    • "clear": Verdana
    • "arial": Arial
    • "sans": Microsoft Sans Serif
    • "pricedown": Pricedown (GTA's theme text)
    • "bankgothic": Bank Gothic Medium
    • "diploma": Diploma Regular
    • "beckett": Beckett Regular
    • "unifont": Unifont
  • alignX: a szöveg vízszintes igazítása a dobozon belül. Ez lehet "left", "center" vagy "right".
  • alignY: a szöveg függőleges igazítása a dobozon belül. Ez lehet "top", "center" vagy "bottom".
  • clip: ha ez true-ra van állítva, akkor az a szövegrész, ami nem fér bele a dobozba le lesz vágva.
  • wordBreak: ha ez true-ra van állítva, akkor a szöveg egy új sorba kerül, amikor eléri a doboz jobb oldalát. Ha ez false, akkor a szöveg mindig az adott sorban marad.
  • postGUI: Egy bool érték mutatja, hogy a szöveget a GUI kép elé, vagy mögé rajzolja-e ki (CEGUI által kirajzolt).
  • colorCoded: Állítsa be a true-ra a beágyazott #FFFFFF színkódok engedélyezéséhez. Figyelem: a clip és a wordBreak false-ra vált, ha ez true-ra van állítva.
  • subPixelPositioning: A bool representing whether the text can be positioned sub-pixel-ly. Looks nicer for moving/scaling animations.
  • fRotation: Rotation
  • fRotationCenterX: Rotation Origin X
  • fRotationCenterY: Rotation Origin Y

Visszatérési érték

Visszatérési értéke true, ha sikeresen ki lett rajzolva, egyébként false.

Példa

Ez a példa kiírja az aktuális zóna nevét a játékos képernyőjének a bal alsó sarkában.

local screenWidth, screenHeight = guiGetScreenSize ( ) -- Get the screen resolution (width and height)


function createText ( )
    local playerX, playerY, playerZ = getElementPosition ( localPlayer )       -- Get our player's coordinates.
    local playerZoneName = getZoneName ( playerX, playerY, playerZ )          -- Get name of the zone the player is in.

    -- Draw zone name text's shadow.
    dxDrawText ( playerZoneName, 44, screenHeight - 41, screenWidth, screenHeight, tocolor ( 0, 0, 0, 255 ), 1.02, "pricedown" )
    -- Draw zone name text.
    dxDrawText ( playerZoneName, 44, screenHeight - 43, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 1, "pricedown" )
end

function HandleTheRendering ( )
    addEventHandler ( "onClientRender", root, createText ) -- keep the text visible with onClientRender.
end

addEventHandler ( "onClientResourceStart", resourceRoot, HandleTheRendering )

Ez a példa megmutatja a vízszintes és a függőleges szövegméret megadását.

local screenWidth, screenHeight = guiGetScreenSize ( ) -- Get the screen resolution (width and height)


function createText ( )
    dxDrawText ( getTickCount(), 44, screenHeight - 43, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 1, 2, "pricedown" )
end
addEventHandler ( "onClientRender", root, createText )

Changelog

Version Description
1.3.0-9.03986 Added colorCoded and subPixelPositioning arguments
1.3.5-9.06054 Added fRotation, fRotationCenterX and fRotationCenterY arguments

Lásd még

Fordította

2018.11.27. Surge