Component Script sample 3 |
Top Previous Next |
Set Audio.talk _______________________________________________________ // Set Audio, // (c) Oscar 2004 // this creates a menu for selecting audio track // the menu shows an arrow on currently selected audio // we use switched menu for this trick. sText1 = "Audio Track 1" sText2 = "Audio Track 2" sText3 = "Audio Track 3" sText4 = "Audio Track 4" input "Menu for setting audio","What do you want to call the audio tracks in the menu?","Audio 1",sText1,"Audio 2",sText2,"Audio 3",sText3,"Audio 4",sText4,"","Set empty text for non-existing tracks." // terminate script if pressed cancel if bCancelInput then end endif // first is component then menus menu[1] = menusInBlackBox[2] menu[2] = menusInBlackBox[3] menu[3] = menusInBlackBox[4] menu[4] = menusInBlackBox[5] // now remember objects in the menu[1] // get the object from its label, a simple and effective way // label is not case sensitive objText1 = ObjectGetFromLabel(menu[1],"text1") objText2 = ObjectGetFromLabel(menu[1],"text2") objText3 = ObjectGetFromLabel(menu[1],"text3") objText4 = ObjectGetFromLabel(menu[1],"text4") objArow = ObjectGetFromLabel(menu[1],"arrow") ArrowX = ObjectGetXPos(menu[1],objArow) ArrowY = ObjectGetYPos(menu[1],objArow) objBack = ObjectGetFromLabel(menu[1],"back") // since we will copy the menus from first, these object will be valid for every menu. // link the back button to VTS root (1) ObjectLinkToMenu(menu[1],objBack,1) MenuCopy(menu[1], menu[2]) MenuCopy(menu[1], menu[3]) MenuCopy(menu[1], menu[4]) // now set vm command for each menu MenuRemovePRECommands(menu[1]) MenuRemovePRECommands(menu[2]) MenuRemovePRECommands(menu[3]) MenuRemovePRECommands(menu[4]) MenuAddPRECommand(menu[1], "SetSTN (audio=0 )") MenuAddPRECommand(menu[2], "SetSTN (audio=1 )") MenuAddPRECommand(menu[3], "SetSTN (audio=2 )") MenuAddPRECommand(menu[4], "SetSTN (audio=3 )") // now set text and links on each menu for n=1 to 4
// on each menu the next button will be selected by default
MenuSetPBC(menu[n],255,n,0)
ObjectSetText(menu[n],objText1,sText1) ObjectSetText(menu[n],objText2,sText2) ObjectSetText(menu[n],objText3,sText3) ObjectSetText(menu[n],objText4,sText4)
ObjectLinkToMenu(menu[n],objText1,menu[1]) ObjectLinkToMenu(menu[n],objText2,menu[2]) ObjectLinkToMenu(menu[n],objText3,menu[3]) ObjectLinkToMenu(menu[n],objText4,menu[4])
// set arrow position ObjectSetPos(menu[n],objArow,ArrowX,ArrowY) // move arrow to next text ArrowY = ArrowY + 45 next n // delete objects and menus that are nonfunctional if (sText4=="") then ObjectDelete(menu[1],objText4) ObjectDelete(menu[2],objText4) ObjectDelete(menu[3],objText4) MenuDelete(menu[4]) // check track 3 if (sText3=="") then ObjectDelete(menu[1],objText3) ObjectDelete(menu[2],objText3) MenuDelete(menu[3]) endif
endif Created with DVD-lab Pro |