Am besten, Du arbeitest mit Markern. Wenn Deine Struktur nicht allzu verzweigt ist, kannst Du mit folgendem Skript einen Button bauen, der immer zu einem bestimmten Marker geht:
property myMarker
on mouseUp me
go to myMarker
end mouseUp
on mouseEnter me
cursor 280
end mouseEnter
on mouseLeave me
cursor -1
end mouseLeave
on endSprite me
cursor -1
end endSprite
on getPropertyDescriptionList
pList = [:]
addProp pList, #myMarker, [#comment: "Marker:", #format: #marker, #default: #next]
return pList
end getPropertyDescriptionList
Den Marker kannst Du über die Parametereingabe des Skriptes einstellen.
Etwas komfortabler wäre folgendes. Jeder Knopf vergibt ein Variable namens "backMarker":
global backMarker
property myMarker
on mouseUp me
backMarker = the frameLabel
go to myMarker
end mouseUp
on mouseEnter me
cursor 280
end mouseEnter
on mouseLeave me
cursor -1
end mouseLeave
on endSprite me
cursor -1
end endSprite
on getPropertyDescriptionList
pList = [:]
addProp pList, #myMarker, [#comment: "Marker:", #format: #marker, #default: #next]
return pList
end getPropertyDescriptionList
Mit einem Zurück-Button geht es wieder zurück:
global backMarker
on mouseUp me
go to backMarker
end mouseUp
on mouseEnter me
cursor 280
end mouseEnter
on mouseLeave me
cursor -1
end mouseLeave
on endSprite me
cursor -1
end endSprite
Das ganze geht aber immer nur einen Schritt zurück. Eine Weiterentwicklung wäre es also, die Varible "backMarker" einer Liste anzuhängen.
Die Liste wird ersteinmal in einem Moviescript erzeugt:
global markerList
on startMovie
markerList = []
end startMovie
Der oben beschriebene Button fügt der Liste den aktuellen Marker hinzu. Also...
global markerList
property myMarker
on mouseUp me
append markerList, the frameLabel
go to myMarker
end mouseUp
on mouseEnter me
cursor 280
end mouseEnter
on mouseLeave me
cursor -1
end mouseLeave
on endSprite me
cursor -1
end endSprite
on getPropertyDescriptionList
pList = [:]
addProp pList, #myMarker, [#comment: "Marker:", #format: #marker, #default: #next]
return pList
end getPropertyDescriptionList
Mit dem Back-Button kommt man dann schrittweise zurück, wobei die history auch schrittweise gelöscht wird...
global markerList
on mouseUp me
backMarker = markerList[markerList.count]
markerList.deleteAt(markerList.count)
go to backMarker
end mouseUp
on mouseEnter me
cursor 280
end mouseEnter
on mouseLeave me
cursor -1
end mouseLeave
on endSprite me
cursor -1
end endSprite
Damit müsstest Du eigentlich schon ein wenig weiter kommen. Man kann das ganze natürlich bezüglich der Sonderfälle in einer Navigationsstruktur verfeinern, etc.
grüsse,
Christof