HU/dxDrawLine
From Multi Theft Auto: Wiki
Ez a function rajzol egy 2D-s vonalat a képernyőre - egy képkocka erejéig van kirajzolva. Ezt az onClientRender segítségével együtt kell használni annak érdekében, hogy folyamatosan jelenjen meg.
Szintaxis
bool dxDrawLine ( int startX, int startY, int endX, int endY, int color [, float width = 1.0, bool postGUI = false ] )
Kötelező paraméterek
- startX: A vonal kezdetének abszolút X pozícióját képviselő egész szám, melyek képpontokból állanak a képernyőn.
- startY: A vonal kezdetének abszolút Y pozícióját képviselő egész szám, melyek képpontokból állanak a képernyőn.
- endX: A vonal végének abszolút X pozícióját képviselő egész szám, melyek képpontokból állanak a képernyőn.
- endY: A vonal végének abszolút Y pozícióját képviselő egész szám, melyek képpontokból állanak a képernyőn.
- color: A hexadecimális szín, melyet a tocolor-al vagy az 0xAARRGGBB fügvénnyel tudunk megadni (AA = átlászóság, RR = piros, GG = zöld, BB = kék).
Tetszőleges paraméterek
Megjegyzés: Amikor tetszőleges paramétereket használ, előfordulhat, hogy az összes paramétert meg kell adnia, mielőtt egyet is használna. További információkért látogassa meg a tetszőleges paraméterek oldalt.
- width: A vonal szélessége/vastagsága
- postGUI: Egy igaz/hamis érték, mely azt képviseli, hogy a vonal bármelyik ingame GUI mögött, vagy fölött legyen-e (CEGUI által rajzolt).
Visszatérési érték
Visszatérési értéke true, ha a művelet sikeres, egyébként false.
Példa
Ez a példa rajzol egy 'X'-et a képernyőre.
local screenWidth, screenHeight = guiGetScreenSize() local lineColor = tocolor(255, 0, 0) function drawLinesAcrossScreen() dxDrawLine(0, 0, screenWidth, screenHeight, lineColor) dxDrawLine(screenWidth, 0, 0, screenHeight, lineColor) end addEventHandler("onClientRender", root, drawLinesAcrossScreen)
Ez a példa rajzol néhány kört
function drawCircle( x,y, radius, color ) local numPoints = math.floor( math.pow( radius, 0.4 ) * 5 ) -- Calculate number of points to make it look good local step = math.pi * 2 / numPoints local sx,sy for p=0,numPoints do local ex = math.cos ( p * step ) * radius local ey = math.sin ( p * step ) * radius if sx then dxDrawLine( x+sx, y+sy, x+ex, y+ey, color ) end sx,sy = ex,ey end end addEventHandler( "onClientRender", root, function() drawCircle( 350, 350, 10, tocolor(255,0,255) ); drawCircle( 350, 350, 50, tocolor(255,0,255) ); end )
Lásd még
- HU/dxConvertPixels
- HU/dxCreateFont
- HU/dxCreateRenderTarget
- HU/dxCreateScreenSource
- HU/dxCreateShader
- HU/dxCreateTexture
- HU/dxDrawCircle
- HU/dxDrawImage
- HU/dxDrawImageSection
- HU/dxDrawLine
- HU/dxDrawLine3D
- HU/dxDrawMaterialLine3D
- HU/dxDrawMaterialPrimitive
- HU/dxDrawPrimitive
- HU/dxDrawMaterialSectionLine3D
- HU/dxDrawRectangle
- HU/dxDrawText
- HU/dxGetBlendMode
- HU/dxGetFontHeight
- HU/dxGetMaterialSize
- HU/dxGetPixelColor
- HU/dxGetPixelsSize
- HU/dxGetPixelsFormat
- HU/dxGetStatus
- HU/dxGetTextWidth
- HU/dxGetTexturePixels
- HU/dxSetAspectRatioAdjustmentEnabled
- HU/dxSetBlendMode
- HU/dxSetPixelColor
- HU/dxSetRenderTarget
- HU/dxSetShaderValue
- HU/dxSetShaderTessellation
- HU/dxSetShaderTransform
- HU/dxSetTestMode
- HU/dxSetTextureEdge
- HU/dxSetTexturePixels
- HU/dxUpdateScreenSource