home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
1&1 Multimedia Trend 1996 10 B
/
MM_TREND.ISO
/
prog
/
t-online
/
shared.dir
/
00305_Script_305
< prev
next >
Wrap
Text File
|
1996-08-16
|
17KB
|
688 lines
--interface
-- generelle routinen fⁿr alle sprites
-- die individuelle funtionen liegen in 306
--**********************************************************
on Check48Rollover
-- funktion die alle Sprites checkt. Dauert ca. 2-4 ticks
-- berⁿcksichtigt nur die im Frame gewⁿnschten
-- die in der Liste SpriteRoll stehen
global glSpriteRoll, giOtherSpn, giSPN, gb1u1logo
set giSPN =0
set giOtherSpn = 0 -- rollover other sprite
repeat with i = 26 to 47
if the castnum of sprite i > 0 then
-- zur sicherheit
if rollover (i) then
--debug "roll over " & i
put GetAt (glSpriteRoll , i) into x
if x > 0 then -- nur aktive
--debug "roll over " & i
set giSPN = i
exit repeat
else
end if
end if
end if
end repeat
if (gb1u1Logo = true) and (the mousedown = true) then
set the visible of sprite 45 = false
set gb1u1logo = false
updatestage
set giSPN = 0
end if
end Check48Rollover
--**********************************************************
on CheckOtherRollover
global glOtherRoll, glOtherShow, giOtherSpn
put count( glOtherRoll) into Anz
repeat with i = 1 to Anz
if giOtherSpn = getAt (glOtherRoll,i) then
go to frame getAt (glOtherShow,i)
end if
end repeat
end
--**********************************************************
on CheckMyRollover
global giOtherSpn, giSPN, glActiveRoll, gbSldOpen
Check48Rollover()
--debug "CheckMyRoll: " & giSPN
if gbSldOpen = true then
-- wenn slider offen, nur die sichtbaren
put getOne (glActiveRoll ,giSpn) into x
if x = 0 then
set giSPN = 0
end if
end if
if giSPN > 0 then
ExecRollover
else
-- rollover ⁿber andere sprites??
ResetRollover
end if
end
--**********************************************************
on CheckNaviRollover
-- wΣhrend der Animationen nur auf Navi Buttons
--set spn = 0
global giSPN
Check48Rollover()
--debug "NaviRoll: " & giSPN
if (gispn >25) and (gispn <29) then
ExecRollover --gispn
else
ResetRollover
end if
end
--**********************************************************
on ExecRollover
-- verΣndert die Bitmap bei rollover
global giLastSprite, glCastOfSprite, glSpriteRoll
global giDownFlag, gbSldOpen, giSPN, giBlinkCast, gbISDN, giAuto
--set the trace to true
-- debug "execroll: " & giSpn & " LastS: " & giLastSprite¼
& "Down: " & giDownFlag
set spn = giSPN
set x=0
set ok = true
if (giLastSprite > 0) and (giLastSprite <> Spn) then
-- falls es zu schnell ging
ResetRollover
end if
put GetAt (glSpriteRoll, Spn) into y
if y > 0 then
-- nur bei den Button-sprites
-- ─ndern , wenn noch = gesetzte castnummer,
-- bei 40-43 wird 2x gewechselt
put GetAt (glCastOfSprite, Spn) into x
if the castnum of sprite spn = x then -- nur Σndern, wenn n÷tig
-- sonderfΣlle behandeln
if Spn = 38 then
-- kein roll bei den radio buttons
set ok = false
end if
if Spn = 45 then
-- kein roll bei 1&1 buttons
set ok = false
end if
if (Spn = 43) and gbSldOpen = true then
-- Sound ok/esc buttons
ChangeSndBtn 1
set ok = false
end if
-- button der blinkt
if Spn = 40 + gbISDN then
-- den blinkenden Button setzten
put GetAt (glCastOfSprite, 40 + gbISDN) into x
set the castnum of sprite 40 + gbISDN to x
end if
-- wechsel bei interaktiv/gesteuert
if (Spn=36) then -- interaktiv
debug "change Auto: " & giAuto
if (giAuto = 0) then
-- interaktiv = grⁿn
put getAt (glOrigOfSprite, spn) into x
set the castnum of sprite spn to x + 7
debug " + 7"
else
-- interaktiv = rot
put getAt (glOrigOfSprite, spn) into x
set the castnum of sprite spn to x + 1
debug " +1"
end if
set ok = false
updatestage
end if
if (Spn=37) then -- interaktiv
debug "change Auto: " & giAuto
if (giAuto = 1) then
-- interaktiv = grⁿn
put getAt (glOrigOfSprite, spn) into x
set the castnum of sprite spn to x + 7
debug " + 7"
else
-- interaktiv = rot
put getAt (glOrigOfSprite, spn) into x
set the castnum of sprite spn to x + 1
debug " +1"
end if
set ok = false
updatestage
end if
-- ------------------------------------------
-- Σndern falls es ok ist
if ok = true then
set the castnum of sprite Spn to x +1
updatestage
end if
else
-- esc/ok immer prⁿfen / Σndern
if (Spn = 43) AND (gbSldOpen = true) then
-- Sound ok/esc buttons
ChangeSndBtn 1
set ok = false
end if
end if -- castnum = orig
else -- y=0 SpriteRoll = 0
-- nur bei Ok/esc checken, sonst ignorieren
if Spn = 43 then
ChangeSndBtn 1
end if
end if --y>0
-- ++++++++++++++++ MOUSE DOWN / UP ++++++++++++++++++
-- hat schon die rollover bitmap
-- jetzt check, ob mousedown
if the mouseDown = true then
if giLastSprite = spn then
MyMouseDown
set giDownFlag = spn
waitticks 5
MyMouseUp
end if
end if
-- -------------
set giLastSprite = Spn
-- set the trace to false
end ExecRollover
-- ------------------------------------------------------
on ChangeSndBtn Art
-- hilfsproc fⁿr OK/ESC buttons
global gbSldOpen, gbISDN, giSPN
set y = giSpn
if gbISDN then
set sp = 436
else
set sp = 380
end if
if Art = 1 then
set x = 0
else
set x = 2
end if
--debug "change ESC/OK"
-- esc/ok buttons
if (gbSldOpen = true) and (giSPN=43) then -- button bei zu
-- ok esc buttons
if the mouseH > 605 then
if the mouseV > 340 then
set the castnum of sprite 43 to sp + x
--debug "--ESC: " & sp + x
else
set the castnum of sprite 43 to sp + 1 + x
--debug "--OK: " & sp + 1 + x
end if
end if
updatestage
end if
end
--***********************************************************
on ResetRollover
-- prⁿft, ob ein beleibiger sprite geΣndert wurde
-- dann wird er zurⁿckgesetzt
global giLastSprite, glCastOfSprite, glSpriteRoll, giDownFlag
if giLastSprite > 0 then
if giLastSprite <> 38 then
set x = GetAt (glCastOfSprite, giLastSprite ) -- orginal ??
set the castnum of sprite giLastSprite to x
--if giLastSprite = 44 then
-- reset 1&1 logo
--set the visible of sprite 45 to false
--end if
updatestage
end if
set giDownFlag = 0
set giLastSprite = 0
end if --gi
end ResetRollover
-- ***********************************************************
on MyMouseDown
-- hier werden die slider behandelt
-- wird per MousDownScript umgelenkt
global giLastSprite, gbSldOpen, gb1u1Logo
debug "MyMouseDown: " & giLastSprite
set x = 0
if giLastSprite > 0 then
put GetAt (glSpriteRoll, giLastSprite) into x -- relevanter sprite?
if x > 0 then
PlayNoise "click"
-- setzte die graphik fⁿr "Down"
if giLastSprite <> 38 then --radiobuttons
put GetAt (glCastOfSprite, giLastSprite) into x
set the castnum of sprite giLastSprite to x + 2 --"DownBitmap"
updatestage
end if
if giLastSprite = 44 then
-- einblenden der 1&1 info
-- wieder weg bei Mouse Up
debug "show 1&1"
if the visible of sprite 45 = true then
set the visible of sprite 45 to false
set gb1u1Logo = false
else
set the visible of sprite 45 to true
set gb1u1Logo = true
end if
updatestage
else
if the visible of sprite 45 = true then
debug "hide 1&1"
set the visible of sprite 45 to false
set gb1u1Logo = false
updatestage
end if
end if
-- Soundlevel, Radiobuttons extra behandeln
if gbSldOpen = true then
if giLastSprite = 39 then --regler
ChangeSoundLevel -- in 306
else if giLastSprite = 38 then
ChangeSoundOnOff -- in 306
else if giLastSprite = 43 then
-- esc/ok buttons
ChangeSndBtn 2
else
-- dontpassEvent -- das wars
end if
end if -- sldopen
else -- x>0
end if
end if --lastsprite
debug "...down ready"
end
-- **************************************************************
on MyMouseUp
-- hier werden die Aktionen auf den Slidern behandelt
global giLastSprite, glAction, gbISDN, giExtraAction
set s = " "
set x = 0
if giLastSprite > 0 then
put GetAt (glSpriteRoll, giLastSprite) into x -- relevanter sprite?
if x > 0 then
debug "MsUpProc.." & giLastSprite
updatestage
if giLastSprite <> 38 then -- radiobuttons
put GetAt (glCastOfSprite, giLastSprite) into x
set the castnum of sprite giLastSprite to x --"DownBitmap"
updatestage
end if
set z = giLastSprite
put GetAt ( glAction, giLastSprite ) into s
debug " call " & s
-- -------------- call ActionProc --------------
-- do s
if z= 26 then
GoPrev
else if z=27 then
GoNext
else if z=28 then
GoMenu
else if z=34 then
Install
else if z=35 then
Antrag
else if z=36 then
SetAutoNein
else if z=37 then
SetAutoJa
else if z=38 then
SetSound
else if z=39 then
SetSndLevel
else if z=40 then
if gbISDN = false then
escInst
end if
else if z=41 then
escAntrag
else if z=42 then
escAuto
else if z=43 then
escSound
else if z=44 then
-- EinsInfo
else if z=46 then
Finished
else if z=99 then
--
else
end if
-- dontpassEvent -- das wars
else
-- weiter mit anderen mouse handlern
end if
end if
-- zusΣtzliche aktionen in einzelnenn filmen
if giExtraAction > 0 then
if giLastSprite > 0 then
-- im moviescript des films
debug "---EXTRA!"
ExtraAction
end if
end if
debug "...up ready"
end
-- **************************************************************
on SliderVisible Id, JaNein
-- Zeigt / Vesteckt die elemente der slider
-- janain=1 = sichtbar machen
global glCastOfSprite, glOrigOfSprite, giLastSprite
global gbDoBlink, gbSldOpen, giSliderID, glStatus
global giMusic, giNoise, giAuto
global glActiveRoll, giMovieNr
debug "slider visible"
set x = 0
if JaNein = 1 then
-- SliderOut -- dummy animieren
if giMovieNr > 0 then
set x = giMovieNr
set giMovieNr = 0 -- stopt in movie wait
repeat while (the movierate of sprite x >0)
nothing
end repeat
end if
PlayNoise "ExtendTab"
set gbDoBlink = false -- nicht mehr blinken
set gbSldOpen = true -- die anderen rollover sperren
end if
-- ================== anzeige ====================
-- -------------- slider nummer 1 -----------------
if id = 1 then --tonline
-- jeweils die slider + buttons zeigen/verstecken
set the visible of sprite 30 to JaNein
set the visible of sprite 34 to JaNein
set glActiveRoll =[30, 34, 40]
end if
-- -------------- slider nummer 2 -----------------
if id = 2 then --antrag
set the visible of sprite 31 to JaNein
set the visible of sprite 35 to JaNein
set glActiveRoll =[31, 35, 41]
end if
-- -------------- slider nummer 3 -----------------
if id = 3 then -- auto
set the visible of sprite 32 to JaNein
-- je nach status den roten/grⁿnen button
if giAuto = 0 then -- nicht auto
-- interaktiv = grⁿn
put getAt (glOrigOfSprite, 36) into x
set the castnum of sprite 36 to x + 2 -- vorher +6
-- gesteu. = rot
put getAt (glOrigOfSprite, 37) into x
set the castnum of sprite 37 to x
else
-- interaktiv = rot
put getAt (glOrigOfSprite, 36) into x
set the castnum of sprite 36 to x
-- gesteu. = grⁿn
put getAt (glOrigOfSprite, 37) into x
set the castnum of sprite 37 to x + 2 -- vorher +6
end if
set the visible of sprite 36 to JaNein
set the visible of sprite 37 to JaNein
set glActiveRoll =[32, 36, 37, 42]
debug" CASTNUM: " & the castnum of sprite 36 & the castnum of sprite 37
end if
-- -------------- slider nummer 4 -----------------
if id = 4 then -- sound on/off / level
set the visible of sprite 29 to JaNein --linie fⁿr regler
set the visible of sprite 33 to JaNein
set the visible of sprite 39 to JaNein
if JaNein = true then -- nur bei sichtbar
set x = 0
set spn = 38
put getAt (glOrigOfSprite, spn) into x
debug "ORIG: " & x
if giNoise =1 then
if giMusic= 1 then
set the castnum of sprite spn to x
else
--set x= x +2 -- um setAt CatsNum richting zu definieren
set the castnum of sprite spn to x +2
end if
else -- noise = 0
if giMusic= 1 then
--set x= x +1
set the castnum of sprite spn to x + 1
else
--set x= x +3
set the castnum of sprite spn to x + 3
end if
end if
end if
set the visible of sprite 38 to JaNein -- radio
set glActiveRoll =[29, 33, 39, 38, 43]
--updatestage
end if
-- --------------------------------------------------
-- umdefinieren der "orginal" castnummer
put getAt (glCastOfSprite, giLastSprite) into x
if JaNein = 1 then --ja
set y = x + 3
else
set y = x - 3
end if
setAt glCastOfSprite, giLastSprite, y
--
set the castNum of sprite giLastSprite to y
set the visible of sprite giLastSprite to true
-- set / reset flags und status
if JaNein = 1 then
-- SliderBack -- dummy wieder weg
set giSliderID = Id
setAt glStatus ,Id, 1
else
set gbDoBlink = true -- wieder blinken
set gbSldOpen = false -- die anderen rollover erlauben
set giSliderID = 0
setAt glStatus ,Id, 0
continue
end if
debug " ready slider"
updatestage
end SliderVisible
-- **************************************************************
on ShowThemAll
-- hilfsfunktion fⁿr die erstellung (bei stopmovie)
repeat with i= 20 to 48
set the visible of sprite i to true
end repeat
end ShowThemAll
-- ++++++++++++++++++++ alte versionen ++++++++++++++++++++
on SliderOut Id
global giLastSprite, giDummySliderId, giDummySliderHomeId
global gbAnimation
exit
PlayNoise "ExtendTab"
-- zu langsam
set x = the locH of sprite giDummySliderHomeId
set y = the locV of sprite giLastSprite
set the locH of sprite giDummySliderId to x
set the locV of sprite giDummySliderId to y -10 -- 17
set the visible of sprite giDummySliderId to true
updatestage
if gbAnimation = true then
-- bei animation einfach raus, so sonst zu lngsam
set the locH of sprite giDummySliderId to (x-70)
else
repeat with i = 1 to 5
set the locH of sprite giDummySliderId to x
set x = x - 14
updatestage
end repeat
end if
end SliderOut
-- **************************************************************
on SliderBack
-- bewegt den dummy in die untere ecke
global giDummySliderId
--set the visible of sprite giDummySliderId to false
--updatestage
--set the locH of sprite giDummySliderId to 600
--set the locV of sprite giDummySliderId to 420
end SliderBack