Josmis Posted July 24, 2013 Share Posted July 24, 2013 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
HunT Posted July 24, 2013 Share Posted July 24, 2013 Dubito che l abbia fatto tu questo codice. Anyway puoi usare gui editor per prendere le "relative" position e convertirle per dx Link to comment
Josmis Posted July 24, 2013 Author Share Posted July 24, 2013 Fidati, l'ho fatto io. In ogni caso non voglio usare il gui editor, voglio imparare a usare il dxDrawText e company.. (intendo imparare bene a calcolare le coordinate) Link to comment
hitechworld Posted July 24, 2013 Share Posted July 24, 2013 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
HunT Posted July 25, 2013 Share Posted July 25, 2013 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
Josmis Posted July 25, 2013 Author Share Posted July 25, 2013 Credo di saper parlare e di capire abbastanza bene l'italiano... Non voglio usare il GUIEDITOR per avere direttamente le coordinate relative! Voglio ricavarle usande guiGetScreenSize() Link to comment
HunT Posted July 25, 2013 Share Posted July 25, 2013 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
Josmis Posted July 25, 2013 Author Share Posted July 25, 2013 Si beh, alla fine metti caso che uno scripter sa fare tutto ma non un cosa del genere, sbaglio o non è uno scripter completo? Link to comment
HunT Posted July 25, 2013 Share Posted July 25, 2013 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
hitechworld Posted July 25, 2013 Share Posted July 25, 2013 Allora ho intuito giusto... Hai provato come dico io per allinearle? In questo modo usi codice e non GUI editor. Link to comment
xShocKz Posted July 25, 2013 Share Posted July 25, 2013 Non capisco perche vuoi perdere così tanto tempo... Link to comment
Josmis Posted July 25, 2013 Author Share Posted July 25, 2013 Ho risolto! Grazie a tutti lo stesso! Link to comment
HunT Posted July 25, 2013 Share Posted July 25, 2013 Ho risolto!Grazie a tutti lo stesso! Sei miticoooooooooooo!!!!!!!!!!! Link to comment
Josmis Posted July 25, 2013 Author Share Posted July 25, 2013 Fammi capire... ti credi spiritoso? Link to comment
Josmis Posted July 25, 2013 Author Share Posted July 25, 2013 Ma che bella community italiana che c'è su MTA... come al solito l'italia si fa riconoscere... SEMPRE E COMUNQUE... Link to comment
HunT Posted July 25, 2013 Share Posted July 25, 2013 Se fai il presuntuoso cosa speri di ottenere? Questa sotto specie di "fight" l'hai creata tu. Link to comment
Josmis Posted July 25, 2013 Author Share Posted July 25, 2013 Cosa avrei fatto per scatenare questa fight? Link to comment
HunT Posted July 26, 2013 Share Posted July 26, 2013 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
Josmis Posted July 26, 2013 Author Share Posted July 26, 2013 Perfetto! Ma non continuo a capire il motivo di questo accanimento verso di me... Link to comment
hitechworld Posted July 27, 2013 Share Posted July 27, 2013 Ciao, se non ti dispiace potresti postare uno screen del lavoro ultimato? Mi piace il layout che hai utilizzato e vorrei vedere il lavoro finito. Link to comment
Josmis Posted July 27, 2013 Author Share Posted July 27, 2013 Ancora c'è molto da fare, a lavoro ultimato posto uno screen! Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now