nillio, in effetti lo farebbe se le istanze sulle quali agisce lo swapDephts fossero mascherate direttamente dalla maschera, e allora potrebbe anche andare bene, ma in questo caso le istanze stanno dentro l'istanza "Menu" (o scroll o quello che è) che è appunto l'istanza mascherata dalla suddetta maschera.ovvero lo swapDephts tira le cose anche sopra la maschera
Lo swapDephts agisce localmente, ovvero le due istanze, per essere scambiate di profondità, devono risiedere sullo stesso livello (cioè nella stessa istanza padre), per questo un'istanza dentro "Menu" non può saltare fuori ne dall'istanza "Menu" ne tantomeno può portarsi avanti alla maschera.
Probabilmente bluecolors ha voluto racchiudere tutte le istanze in un'unico movie per poter agire più facilmente con lo scroll altrimenti, se tutte le istanze fossero sulla root, si dovrebbe applicare lo scroll su ciascuna di esse.... dico bene?
Per risolvere potresti utilizzare delle maschere create da script.
Fai così..
- Elimina il layer maschera e converti in simbolo la maschera finora utilizzata (a meno che non fosse già un'istanza).
- Quindi nomina l'istanza della maschera come "mask" e l'istanza del menu come "slideMenu"
- All'interno di slideMenu istanzia tutto ciò che vuoi mascherare, cioè sia le "case" che lo "sfondo".
- L'istanza dello sfondo devi nominarla esattamente "sfondo".
- A questo punto sistema il seguente script nel primo frame della root.
e il gioco è fatto!!Codice PHP:for (var id in slideMenu) {
// utilizza l'istanza mask presente sullo stage per creare delle copie
if (!maskId) {
mask._name = "mask_"+id;
var mask = _root["mask_"+id];
} else {
// crea una nuova copia della maschera
mask.duplicateMovieClip("mask_"+id, _root.getNextHighestDepth());
}
// puntatore istanza di slideMenu
var clipId = slideMenu[id];
// puntatore della nuova maschera
var maskId = _root["mask_"+id];
// nascondi l'istanza della maschera
maskId._visible = false;
// maschera l'istanza di slideMenu con la relativa maschera
clipId.setMask(maskId);
//
// imposta eventi mouse per le istanze di slideMenu meno che l'istanza sfondo
if (id != "sfondo") {
clipId.onRollOver = clipId.onDragOver=function () {
this.setMask(null);
};
clipId.onRollOut = clipId.onDragOut=function () {
var maskId = _root["mask_"+this._name];
this.setMask(maskId);
};
}
}
.... almeno dovrebbe....![]()


Rispondi quotando
