08-26-2024, 03:24 AM
Wow thanks A740g! I just improved the ball throwing example to make the ball sound volume go less and less the farther away it is.
Code: (Select All)
'Ken's Throw The Ball Demonstration
'I got the parabola equation and SGN command for random numbers from ChatGPT and I made the rest.
'Feel free to use this as you wish.
Screen _NewImage(800, 600, 32)
Cls
_Title "Click The Left Mouse Button To Throw"
' Define the coefficients for the parabola y = ax^2 + bx + c
Dim a As Double, b As Double, c As Double
centerX = 400
centerY = 300
c = 0
s = 100
ball = 8
volume = 1
Randomize Timer
Do
Do
Do While _MouseInput
If _MouseButton(1) Then
b = Int(Rnd * _Pi) + 6
a = Int(Rnd * 7) - 7
'randomx = (Rnd * 10) * Sgn(Rnd - 0.5)
If _MouseX < 400 Then randomx = _MouseX / 30 * -1
If _MouseX > 399 Then randomx = _MouseX / 50
randomy = _MouseY / 30
Cls
End If
Loop
Loop Until _MouseButton(1)
' Set up a loop to draw the parabola
For x = -20 To 30 + a Step .5
' Calculate y using the parabola equation
y = a * (x / 10) ^ 2 + b * (x / 10) + c
' Convert to screen coordinates
screenX = centerX + x * randomx
'screenY = centerY - y * 10
screeny = centerY - y * randomy
If ball > 1.5 Then ball = ball - .2
' Plot the point
Circle (screenX, screeny), ball, _RGB32(255, 255, 255)
_Delay .05
s = s + .1
If volume > .05 Then volume = volume - .02
Sound s, 1, volume
_Display
Cls
Next x
s = 100
ball = 8
volume = 1
Loop Until InKey$ = Chr$(27)
End