Jump to content

Aiuto!


Recommended Posts

Ho 5 parole da disegnare nello schermo tramite funzioni Dx, e finora sono riuscito a fare questo:

http://imageshack.us/photo/my-images/849/xmhl.png

usando questo codice:

local screenX,screenY = guiGetScreenSize() 
      
    local widthRec = screenX 
    local heightRec = 0 
    local startXrec = 0 
    local startYrec = screenY 
    local alpha = 0 
    local offsetY = 90 
    local offsetX = 90 
    local startXlbl = 0 
    local startYlbl = screenY 
      
    local statsLabelDatas = {text = "#236B8E[#FFFFFFStats#236B8E]", x = startXlbl, y = startYlbl} 
    local shoponeLabelDatas = {text = "#236B8E[#FFFFFFShop #D9D919##FFFFFF1#236B8E]", x = startXlbl, y = startYlbl} 
    local shoptwoLabelDatas = {text = "#236B8E[#FFFFFFShop #D9D919##FFFFFF2#236B8E]", x = startXlbl, y = startYlbl} 
    local rankingLabelDatas = {text = "#236B8E[#FFFFFFRanking#236B8E]", x = startXlbl, y = startYlbl} 
    local settingLabelDatas = {text = "#236B8E[#FFFFFFSettings#236B8E]", x = startXlbl, y = startYlbl} 
      
    function fadeInGui() 
        heightRec = heightRec - 2 
        alpha = alpha + 7 
        if offsetY >= 25 then 
            offsetY = offsetY - 2 
            offsetX = offsetX - 2 
        end 
    end 
      
    function fadeOutGui() 
        heightRec = heightRec + 2 
        alpha = alpha - 7 
        if offsetY <= 90 then 
            offsetY = offsetY + 2 
            offsetX = offsetX + 2 
        end 
    end 
      
    function drawDxGuiBase() 
        dxDrawRectangle(startXrec, startYrec, widthRec, heightRec ,tocolor(0,0,0, alpha), false) 
        
        local items = {statsLabelDatas, shoponeLabelDatas, shoptwoLabelDatas, rankingLabelDatas, settingLabelDatas} 
        local offset = ((screenX-offsetX) / tonumber(#items)) 
      
        for i=1, #items do 
            if i == #items then 
                dxDrawText ( items[i].text:gsub('#%x%x%x%x%x%x', '') , items[i].x + (offset*i) + 1, items[i].y - offsetY + 1, items[i].x + (offset*i) + 1, items[i].y - offsetY + 1, tocolor(0,0,0, alpha), 1.01, "bankgothic", "center", "center", false, false, false, true) 
                dxDrawText ( items[i].text , items[i].x + (offset*i), items[i].y - offsetY, items[i].x + (offset*i), items[i].y - offsetY, tocolor(0,0,0, alpha), 1, "bankgothic", "center", "center", false, false, false, true) 
            else 
                offset = offset - string.len(items[i+1].text:gsub('#%x%x%x%x%x%x', '')) 
                dxDrawText ( items[i].text:gsub('#%x%x%x%x%x%x', '') , items[i].x + (offset*i) + 1, items[i].y - offsetY + 1, items[i].x + (offset*i) + 1, items[i].y - offsetY + 1, tocolor(0,0,0, alpha), 1.01, "bankgothic", "center", "center", false, false, false, true) 
                dxDrawText ( items[i].text , items[i].x + (offset*i), items[i].y - offsetY, items[i].x + (offset*i), items[i].y - offsetY, tocolor(0,0,0, alpha), 1, "bankgothic", "center", "center", false, false, false, true) 
            end 
        end 

Però, come potete vedere non sono sparsi nel rettangolo in modo omogeneo, come posso fare ciò?

Link to comment

Probabilmente sono cieco ma non vedo il problema.

Se vuoi ti posso dire se ho capito.

La distanza tra una parola e l'altra non e la stessa.

Prova a fare cosi:

Prendi ogni singola parola. Calcoli da larghezza in pixel.

Poi sommi le lunghezze, prendi la larghezza dello schermo e ci vai a sottrarre la somma.

Di quello che ti rimane lo dividi per 2x numero di parole.

Il valore ottenuto dovrebbe essere la distanza da destra e da sinistra di ogni parola.

Inoltre si dovrebbe adattare ad ogni schermo.

Se ho detto una cazzata perdonami ma non ho capito il problema.

Link to comment

Non ti ho detto di usare il Gui editor in senso di usare Gui elements,ma di usare Gui editor solo per le coordinate relative.

Ad esempio tu hai bisogno di 5 testi dx,fai 5 Gui label e gli setti relative position e poi fai output code.

Una volta avuto i valori hai finito.

Esempio:

I valori della label sono 0.1 , 0.1 , 0,1 , 0,1

Quindi:

local X,Y = guiGetScreenSize()

A = 0.1

B = 0.1

C = 0.1

D = 0.1

dxdrawtext (testo, A*X, B*Y, C*X, D*Y,

Ecco la conversione dx relative

Link to comment

Ti ho solo mostrato come assegnare relative position agli elementi dx.

Un metodo facile e veloce,senza usare tutte quelle cazzate no sense che hai messo.

A volte (sempre) la miglior soluzione è sempre la più semplice.

Link to comment

Se metti in dubbio la mia esperienza per me non ci sono problemi.

Ognuno ha i suoi metodi di scrittura.

Per me puoi usare anche 200 righe per creare 5 testi,ma è tutto tempo perso che potresti usare per altre funzioni.

Link to comment
Si beh, alla fine metti caso che uno scripter sa fare tutto ma non un cosa del genere, sbaglio o non è uno scripter completo?

Prima di tutto se voglio lo faccio,ma io non "lavoro" in questo modo perche per me è tutto tempo sprecato.

Seconda cosa qui nessuno e superiore ad un altro.

Che ne dici di fare tasto destro del mouse "ripristina versione precedente" e facciamo finta che non sia successo nulla?

Già questo subForum e poco frequentato,se ci mettiamo a discutere anche su questo è finita.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...