Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Trasparent color not being set correctly here...
#7
(11-09-2024, 10:50 PM)Dav Wrote: Thanks, guys.  I plan to use a better font.  Maybe with rotozoom can make a skewed text scroll up image like a Star Wars look.

- Dav

We had worked on Star Wars crawl at old forum this code works in versions 3.2 to 3.4 but starting 3.6 it dies!
Code: (Select All)
' Star Wars Episode V: The Empire Strikes Back opening crawl?
' http://www.galaxyfaraway.com/gfa/2006/02/what-is-the-text-of-the-star-wars-episode-v-the-empire-strikes-back-opening-crawl/

Screen _NewImage(800, 700, 32)
_ScreenMove 300, 20
swt& = _NewImage(320, 512, 32)
_Dest swt&
Color _RGB32(0, 180, 0)
nl$ = Chr$(10)
sw$ = "It is a dark time for the Rebellion." + nl$
sw$ = sw$ + "Although the Death Star has been" + nl$
sw$ = sw$ + "destroyed, Imperial troops have driven" + nl$
sw$ = sw$ + "the Rebel forces from their hidden base" + nl$
sw$ = sw$ + "and pursued them across the galaxy." + nl$
sw$ = sw$ + nl$ + nl$
sw$ = sw$ + "Evading the dreaded Imperial Starfleet," + nl$
sw$ = sw$ + "a group of freedom fighters led by Luke" + nl$
sw$ = sw$ + "Skywalker has established a new secret" + nl$
sw$ = sw$ + "base on the remote ice world of Hoth." + nl$
sw$ = sw$ + nl$ + nl$
sw$ = sw$ + "The evil lord Darth Vader, obsessed" + nl$
sw$ = sw$ + "with finding young Skywalker, has" + nl$
sw$ = sw$ + "dispatched thousands of remote probes" + nl$
sw$ = sw$ + "into the far reaches of space.... " + nl$
Locate 20, 1
Print sw$

_Dest 0
yy = _Height / 3
For i = 11 To 60 Step .5
    Cls
    yy = yy - 60 / i
    cText _Width / 2, yy + yy, yy, _RGB32(230, 220, 50), "Star Wars"
    cText _Width / 2, yy + yy, yy * .96, _RGB32(0, 0, 0), "Star Wars"
    _Display
    _Limit 15
Next

cx = _Width / 2
power = 1024 'TO 1 STEP -1
x = (_Height - 20) ^ (1 / power)
dy = 1 '256 pixel height / 50 blocks across
For y = -840 To -270
    Cls
    For i = 0 To power - 1
        '_PUTIMAGE [STEP] [(dx1, dy1)-[STEP][(dx2, dy2)]][, sourceHandle&][, destHandle&][, ][STEP][(sx1, sy1)[-STEP][(sx2, sy2)]]
        _PutImage (cx - .75 * x ^ i, 10 + x ^ i)-(cx + .75 * x ^ i, 10 + x ^ (i + 1)), swt&, 0, (0, y + dy * i)-(319, y + dy * (i + 1))

        'LINE (cx - .75 * x ^ i, 10 + x ^ i)-(cx + .75 * x ^ i, 10 + x ^ (i + 1)), , B
    Next
    Print y
    _Display
    _Limit 15
Next
yy = 80
For i = 60 To 0 Step -.5
    Cls
    yy = yy + 60 / i
    cText _Width / 2, yy + yy, yy, _RGB32(230, 220, 50), "Star Wars"
    cText _Width / 2, yy + yy, yy * .96, _RGB32(0, 0, 0), "Star Wars"
    _Display
    _Limit 75
Next

Sub cText (x, y, textHeight, K As _Unsigned Long, txt$)
    fg = _DefaultColor
    'screen snapshot
    cur& = _Dest
    I& = _NewImage(8 * Len(txt$), 16, 32)
    _Dest I&
    Color K, _RGB32(0, 0, 0, 0)
    _PrintString (0, 0), txt$
    mult = textHeight / 16
    xlen = Len(txt$) * 8 * mult
    _PutImage (x - .5 * xlen, y - .5 * textHeight)-Step(xlen, textHeight), I&, cur&
    Color fg
    _FreeImage I&
End Sub

   

Ashish had a nice one too (Star Wars crawl) and it does still works!
Code: (Select All)
'###########################
'# StarWars Opening Crawl  #
'# By Ashish               #
'###########################

_Title "STARSWARS Opening crawl"

Screen _NewImage(800, 600, 32)

Dim Shared glAllow, text&, text2&, lines$(26)
Dim Shared starWars&

text& = _NewImage(280, (UBound(lines$) + 1) * _FontHeight, 32)
text2& = _CopyImage(text&)
starWars& = _NewImage(65, 17, 32)

_Dest starWars&
Color _RGB32(255, 255, 255)
_PrintString (0, 0), "STARWARS"
_Dest 0

For i = 0 To UBound(lines$)
    Read a$
    lines$(i) = a$
Next

Color _RGB(0, 0, 255)
centerPrint "A long time ago in galaxy far,", _Width, 280
centerPrint "far away...", _Width, 308
_Delay 2
For i = 0 To 255 Step 5
    Line (0, 0)-(_Width, _Height), _RGB32(0, 0, 0, i), BF
    _Display
    _Delay 0.01
Next
_PutImage (_Width / 2 - _Width(starWars&) * 3, _Height / 2 - _Height(starWars&) * 3)-Step(_Width(starWars&) * 6, _Height(starWars&) * 6), starWars&
_Display
_Delay 2
For i = 0 To 255 Step 5
    Line (0, 0)-(_Width, _Height), _RGB32(0, 0, 0, i), BF
    _Display
    _Delay 0.01
Next
_Dest text2&
Color _RGB(255, 220, 0), _RGB(0, 0, 0)
For i = 0 To UBound(lines$)
    If i = UBound(lines$) Then Color _RGB(255, 0, 255)
    centerPrint lines$(i), _Width, y + i * _FontHeight
Next
_Dest 0

glAllow = -1
Color _RGB(255, 220, 0), _RGBA(0, 0, 0, 0)
y = _Height(text&) + 10

Do

    _Dest text&
    _PutImage (0, y), text2&
    y = y - 1
    _Limit 30
Loop Until y < -_Height(text2&) - 10
_Dest 0

Data "It is a period of civil war"
Data "Rebel spaceships, striking"
Data "from a hidden base, have "
Data "won their first victory"
Data "against the evil Galactic"
Data "Empire."
Data ""
Data ""
Data "During the battle, rebel"
Data "spies managed to steel"
Data "secret plans to the Empire's"
Data "ultimate weapon, the DEATH"
Data "STAR, an armored space station"
Data "with enough to destroy an entire"
Data "planet."
Data ""
Data ""
Data "Pursued by the Empire's sinister"
Data "agents, Princess Leia races"
Data "home abroad her starship,"
Data "custodian of the stolen plans"
Data "that cansave her people and"
Data "restore the freedom to the galaxy"
Data ""
Data ""
Data ""
Data "QB64 Rocks!"

Sub centerPrint (t$, w, y)
    _PrintString ((w / 2) - (Len(t$) * _FontWidth) / 2, y), t$
End Sub

Sub _GL ()
    Static glInit, tex&, texMem As _MEM ', clock!
    If Not glAllow Then Exit Sub
    If glInit = 0 Then
        glInit = -1
        _glViewport 0, 0, _Width, _Height
        texMem = _MemImage(text&)
        _glGenTextures 1, _Offset(tex&)
    End If

    If glInit = -1 Then clock! = clock! + 0.01

    _glEnable _GL_TEXTURE_2D
    _glEnable _GL_DEPTH_TEST



    _glMatrixMode _GL_PROJECTION
    _glLoadIdentity
    _gluPerspective 60.0, _Width / _Height, 0.01, 10

    _glMatrixMode _GL_MODELVIEW
    _glLoadIdentity

    _glBindTexture _GL_TEXTURE_2D, tex&
    _glTexImage2D _GL_TEXTURE_2D, 0, _GL_RGB, _Width(texMem.IMAGE), _Height(texMem.IMAGE), 0, _GL_BGRA_EXT, _GL_UNSIGNED_BYTE, texMem.OFFSET
    _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MAG_FILTER, _GL_LINEAR
    _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MIN_FILTER, _GL_LINEAR

    _glBegin _GL_QUADS
    _glTexCoord2f 0, 1: _glVertex3f -0.8, -1, -0.5 'bottom left     #
    _glTexCoord2f 1, 1: _glVertex3f 0.8, -1, -0.5 'bottom right     # Coordinates sign are same as in Cartesian Plane   (3D)
    _glTexCoord2f 1, 0: _glVertex3f 0.8, 3, -7 'upper right       #
    _glTexCoord2f 0, 0: _glVertex3f -0.8, 3, -7 ' upper left      #
    _glEnd


    _glFlush
End Sub

It's _gl stuff.
b = b + ...
Reply


Messages In This Thread
RE: Trasparent color not being set correctly here... - by bplus - 11-10-2024, 12:23 AM



Users browsing this thread: 4 Guest(s)