Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New Years Eve Fireworks!
#29
Thanks Steve, but I did it another way! Instead of using LINE to erase the whole screen to make trails, I made the trails themselves fade! It works!!!!!
The trail graphics actually don't change, but using the 4th color number as 10, the more trails that are together makes it brighter and the more the trail scatters it is less. Smile

Check this out guys. The fireworks themselves aren't as bright, but I like the effect. 

Here is also the zip file which includes all the needed files, including the sky, 2 mp3 files, and .bas file. 

@bplus

Code: (Select All)

'Fireworks by SierraKen and Bplus
'December 31, 2024

'Firework sounds from https://pixabay.com/sound-effects/search/fireworks/

'Thanks B+ for the inspiration and help.


Screen _NewImage(1280, 853, 32)
Dim x(200), y(200), xx(200), yy(200)
Dim cx(200), cy(200)
Dim centerx(200), centery(200)
Dim c(200) As _Unsigned Long

_Title "Fireworks by SierraKen and Bplus"

file$ = "firework_single.mp3"
file2$ = "firework_single_small.mp3"
Song = _SndOpen(file$)
song2 = _SndOpen(file2$)
If Song < 1 Then
    Print "Failed to load sound file!"
    End
End If

GoSub more

Randomize Timer
image& = _LoadImage("sky.jpg", 32)
Screen image&
image2& = _CopyImage(0)
Do
    ce = ce + 1
    If ce > 200 Then ce = 1
    centerx(ce) = (Rnd * 1000) + 200
    centery(ce) = (Rnd * 100) + 300
    red = (Rnd * 155) + 100: green = (Rnd * 155) + 100: blue = (Rnd * 155) + 100

    c(ce) = _RGB32(red, green, blue, 10)

    If booms < 20 Then _SndPlay Song
    If booms > 19 Then _SndPlay song2
    If booms < 20 Then GoSub trajectile
    For b = 1 To 300
        For e = 1 To 200
            x(e) = x(e) + xx(e)
            y(e) = y(e) + yy(e)
            cx(e) = x(e) + centerx(ce)
            cy(e) = y(e) + centery(ce)
            fillCircle cx(e), cy(e), 1, c(ce)
        Next e

        If booms < 20 Then _Limit (300 - b) + 60 Else _Limit 500
    Next b
    If booms < 19 Then _Delay 2.5
    _PutImage (0, 0), image&
    booms = booms + 1
    _Title "Explosions: " + Str$(booms)
    t = 1
    GoSub more
    If booms = 19 Then
        _SndStop Song
    End If
    If booms = 50 Then
        For ending = 1 To 8
            _Delay 2.5
            _PutImage (0, 0), image&
            _Delay .1
        Next ending
        _SndStop song2
        End
    End If

Loop Until InKey$ = Chr$(27)
End

more:
For t = 1 To 200
    r = Rnd
    a = Rnd * _Pi(2)
    x(t) = r * Cos(a)
    y(t) = r * Sin(a)
    xx(t) = r * Cos(a): yy(t) = r * Sin(a)
Next t
Return

trajectile:
For ty = 753 To centery(ce) Step -1
    fillCircle centerx(ce), ty, 2, _RGB32(255, 255, 255, 10)
    _Delay .002
    'Line (0, 0)-(800, 600), _RGB32(0, 0, 0, 10), BF
    Screen image2&
Next ty
Return

'from Steve Gold standard
Sub fillCircle (CX As Integer, CY As Integer, R As Integer, C As _Unsigned Long)
    Dim Radius As Integer, RadiusError As Integer
    Dim X As Integer, Y As Integer
    Radius = Abs(R): RadiusError = -Radius: X = Radius: Y = 0
    If Radius = 0 Then PSet (CX, CY), C: Exit Sub
    Line (CX - X, CY)-(CX + X, CY), C, BF
    While X > Y
        RadiusError = RadiusError + Y * 2 + 1
        If RadiusError >= 0 Then
            If X <> Y + 1 Then
                Line (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
                Line (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
            End If
            X = X - 1
            RadiusError = RadiusError - X * 2
        End If
        Y = Y + 1
        Line (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
        Line (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
    Wend
End Sub


Attached Files
.zip   Fireworks 3.zip (Size: 232.59 KB / Downloads: 5)
Reply


Messages In This Thread
New Years Eve Fireworks! - by SierraKen - 12-28-2024, 01:45 AM
RE: New Years Eve Fireworks! - by bplus - 12-28-2024, 02:59 AM
RE: New Years Eve Fireworks! - by eoredson - 12-28-2024, 04:58 AM
RE: New Years Eve Fireworks! - by SierraKen - 12-28-2024, 05:57 AM
RE: New Years Eve Fireworks! - by SierraKen - 12-28-2024, 07:28 AM
RE: New Years Eve Fireworks! - by DANILIN - 12-28-2024, 09:35 AM
RE: New Years Eve Fireworks! - by SierraKen - 12-28-2024, 05:39 PM
RE: New Years Eve Fireworks! - by bplus - 12-28-2024, 07:34 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-28-2024, 10:18 PM
RE: New Years Eve Fireworks! - by bplus - 12-28-2024, 10:46 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-28-2024, 11:07 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-28-2024, 11:54 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-29-2024, 12:40 AM
RE: New Years Eve Fireworks! - by James D Jarvis - 12-29-2024, 01:22 AM
RE: New Years Eve Fireworks! - by bplus - 12-29-2024, 01:24 AM
RE: New Years Eve Fireworks! - by SierraKen - 12-29-2024, 01:29 AM
RE: New Years Eve Fireworks! - by SierraKen - 12-29-2024, 05:13 PM
RE: New Years Eve Fireworks! - by bplus - 12-29-2024, 07:18 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-29-2024, 08:46 PM
RE: New Years Eve Fireworks! - by bplus - 12-29-2024, 09:42 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-29-2024, 10:36 PM
RE: New Years Eve Fireworks! - by bplus - 12-29-2024, 11:12 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-29-2024, 11:49 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-30-2024, 06:22 PM
RE: New Years Eve Fireworks! - by bplus - 12-31-2024, 01:23 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-31-2024, 05:13 PM
RE: New Years Eve Fireworks! - by bplus - 12-31-2024, 06:57 PM
RE: New Years Eve Fireworks! - by SMcNeill - 12-31-2024, 08:20 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-31-2024, 09:23 PM
RE: New Years Eve Fireworks! - by bplus - 12-31-2024, 10:23 PM
RE: New Years Eve Fireworks! - by SierraKen - 12-31-2024, 10:29 PM
RE: New Years Eve Fireworks! - by bplus - 01-01-2025, 04:01 AM
RE: New Years Eve Fireworks! - by SierraKen - 01-01-2025, 05:17 AM
RE: New Years Eve Fireworks! - by bplus - 01-01-2025, 06:23 AM



Users browsing this thread: 8 Guest(s)