HU/dxDrawLine: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function hu}}  
{{Client function hu}}  
Ez a function rajzol egy 2D-s vonalat a képernyőre - egy keretre. Ezt a [[onClientRender]] segítségével együtt kell használni annak érdekében, hogy folyamatosan jelenjen meg.
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==
==Szintaxis==
Line 13: Line 13:
* '''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.
* '''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.
* '''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:''' An integer of the hex color, produced using [[tocolor]] or 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue).
* '''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==
==Tetszőleges paraméterek==
{{OptionalArg hu}}
{{OptionalArg hu}}
* '''width:''' The width/thickness of the line
* '''width:''' A vonal szélessége/vastagsága
* '''postGUI:''' A bool representing whether the line should be drawn on top of or behind any ingame GUI (rendered by CEGUI).
* '''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ék===

Latest revision as of 10:10, 27 November 2018

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

Fordította