Code: Select all
SCREEN 800,600
soundi=LoadSound("Media\SK_battle2.mp3")
Const lenght=22.295955
Const barwidth=760.000
Const freq=24000
sijainti#=0.0
ajastin1=Timer()
Repeat
ajastin2=Timer()
hitti=MouseHit(1)
paino=MouseDown(1)
vapautus=MouseUp(1)
if soitetaan=1 then sijainti#=sijainti#+(ajastin2-ajastin1)/1000.0
ajastin1=Timer()
If soitetaan=1 And SoundPlaying(ääni)=0 Then soitetaan=0:sijainti#=0.0:xx#=0
xx#=barwidth/lenght*sijainti#
Color 255,255,255
Text 20,20,"PLAY"
Text 20,40,"STOP"
Text 20,80,sijainti
If kelaukseenkulunutaika Then Text 20,100,"Kelaukseen kulunut aika: "+kelaukseenkulunutaika+" ms"
Line 20,300,780,300
Line 20,301,780,301
Line 20,302,780,302
//JOS HIIRTÄ PIDETÄÄN PLAY NAPPULAN PÄÄLLÄ...
If MouseX()=>20 And MouseX()=<70 And MouseY()=>20 And MouseY()=<35 Then
Color 255,0,0
Text 20,20,"PLAY"
//Jos play nappia klikattiin
If hitti=1 Then
If soitetaan=0 Then ääni=PlaySound(soundi)
soitetaan=1
End If
End If
//JOS HIIRTÄ PIDETÄÄN STOP NAPPULAN PÄÄLLÄ...
If MouseX()=>20 And MouseX()=<70 And MouseY()=>40 And MouseY()=<55 Then
Color 255,0,0
Text 20,40,"STOP"
//Jos stop nappia klikattiin...
If hitti=1 Then
If soitetaan=1 Then StopSound ääni
soitetaan=0
xx=0
sijainti#=0.000
End If
End If
Color 128,128,128
//PIIRRETÄÄN PALKKIIN SE "NAPPULA"
Box 15+xx,295,10,15,0
//AKTIVOIDAAN PALKIN "SE NAPPULA" JOS HIIRI ON SEN PÄÄLLÄ
If MouseX()=>15 And MouseX()=<barwidth+20 And MouseY()=>285 And MouseY()=<315 Then
Color 255,0,0
Box 15+xx,295,10,15,0
If paino=1 Then Box MouseX(),295,10,15
If vapautus=1 Then
xx#=MouseX()-30
If SoundPlaying(ääni)=1 Then StopSound ääni:soitetaan=0
//SETSOUNDIN VIIMEINEN PARAMETRI ON ESITETTÄVÄ SEURAAVASTI:
//NAPPULAN X / PALKIN LEVEYS * ÄÄNEN PITUUS SEKUNNEISSA.
//SITTEN KOKO HÖSKÄ KERROTAAN KAPPALEEN NÄYTTEENOTTOTAAJUUDELLA.
//JOS NÄYTTEENOTTOTAAJUUS ANNETAAN OLLA SELLAISENAAN,
//KESTÄÄ KELAUS OIKEAAN KOHTAAN TASAN SEKUNNIN.
//KOSKA HALUAMME KELAUKSEN KESTÄVÄN VÄHEMMÄN KERROMME
//NÄYTTEENOTTOTAAJUUDEN KAHDELLA JA PUOLITAMME KELAUKSEEN
//KULUVAN AJAN
ääni=PlaySound(soundi)
SetSound ääni,OFF,0,0,((xx#/barwidth)*lenght)*(freq*2)
// TÄSSÄ KOHTAA SE KELAAMINEN TAPAHTUU!!!
// EDELLISILLÄ RIVEILLÄ KAPPALE ALOITETTIIN ALUSTA, JA
// LAITETTIIN SOIMAAN NOPEUTETTUNA. NYT SITÄ SOITETAAN
// TARKKAAN LASKETTU AIKA, JONKA JÄLKEEN KAPPALE ON
// (MELKEIN) OIKEASSA KOHDASSA.
timer1=Timer()
Repeat
timer2=Timer()
Until timer2-timer1=>500
SetSound ääni,OFF,100,0,freq
sijainti#=(xx#/barwidth)*lenght
kelaukseenkulunutaika=timer2-timer1
soitetaan=1
End If
End If
DrawScreen
Forever
EDIT: Aika järkevästi olen näköjään noita muuttujia nimennyt... Koittakaa kestää.
EDIT2: Ja näköjään tuossa kelausnopeuden laskukaavassa on jokin virhe.
EDIT3: Ja tätä saa siis tosiaan käyttää - ja muokata (ja parannella!!!) - ihan vapaasti.