2D Darstellung

Previous topic - Next topic

WPShadow

Hi,

hätte eine Frage: gibt es einen Weg eine Graphik (Sprite) nicht zu verschmälern, sondern die Größe beizubehalten und einfach nur z.b. 60% des Bildes darzustellen? Ist etwas blöd erklärt, aber ich meine damit z.B. einen Balken von rot nach grün zeichnen und dann nur einen Teil davon aktiv darzustellen, den Teil, den man also nicht braucht, einfach wegzuschneiden, ohne die Graphik zu zoomen, o.ä.

Hat da jemand eine Idee?

Gruß

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

#2
Hab ich schon versucht, aber k.A. wo ich anfange...  :'(

UPDATE:

Normalerweise müßten die Texturkoordinaten so gerechnet werden:

     
     0.5,0
       |
0,0    |    1,0
   - - | - -
  |    |     |
  |    |     |
  |    |     |
   - - | - -
0,1    |    1,1
       |
     0.5,1


Habe ich das soweit richtig verstanden, oder rechne ich da jetzt falsch?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Quentin

meintest du so etwas in der Art?

Code (glbasic) Select

// sample graphic for progress bar
DRAWRECT 0, 0, 440, 30, RGB(0, 255, 0)
PRINT "progress bar for WPShadow ..............", 10, 5
GRABSPRITE 0, 0, 0, 440, 30
col = RGB(255, 255, 255)

// initialize
startx = 100
starty = 100
endy = 130
endx = 540
width = startx
delay = 10

timer = GETTIMERALL() + delay
GETSPRITESIZE 0, sx, sy

WHILE TRUE
STARTPOLY 0
POLYVECTOR startx, starty, 0, 0, col
POLYVECTOR startx, endy, 0, sy, col
POLYVECTOR width, endy, width-startx, sy, col
POLYVECTOR width, starty, width-startx, 0, col
ENDPOLY
IF width < endx
IF timer < GETTIMERALL()
INC width, 1
timer = GETTIMERALL() + delay
ENDIF
ELSE
    PRINT "Finito!", 300, endy + 10
ENDIF
SHOWSCREEN
WEND

WPShadow

Genau das habe ich gemeint!  :good:

Super Beispiel! Danke!!! *freu*

PS.: So in der Art hatte ich mir das gedacht, war mir aber nicht sicher...  :whistle:
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est