Salve qualcuno sa comme realizzare un MC sensibile al RollOver e RollOut che contiene dei pulsanti che permettono di scalare e trascinare l'oggetto in questione?
Devo realizzare un MC che contiene dei pulsanti che scalano l'oggetto stesso e gli permettono di essere draggabile.
Fino qui tutto tranquillo.
Il problema è che devo far apparire questi pulsanti nel MC solo quando ci si passa sopra con il mouse e farli sparire quando faccio il rollOut.
Ho pensato allora di creare un pulsante invisibile(che si chiama areaSensibile) al livello superiore e della grandezza del MC che utilizzo per questo scopo, (ovvero per fare l'effetto RollOver,RollOut)utilizzando lo swapDepths lo porto sopra o sotto il MC (che si chiama baseContainer).
Ok, tutto funziona finchè non passo sui pulsanti all'interno del MC.
Infatti a questo punto succede che areaSensibile non "capta" più il RollOut/RollOver!!!
areaSensibileUp.onRollOver=function(){
trace("up")
baseContainer.McTrascina._visible=1
baseContainer.McScale._visible=1
areaSensibileUp.swapDepths(baseContainer)
}
areaSensibileUp.onRollOut=function(){
trace("down")
baseContainer.McTrascina._visible=0
baseContainer.McScale._visible=0
baseContainer.swapDepths(areaSensibileUp)
}
Come risolvo questo problema!!
Sto impazzendo avevo pensato di utilizzare l'oggetto Selection, ma è troppo complicato e non riesco a trovare degli esempi o spiegazioni in merito.
L'unico esempio che ho trovato (penso minimamente coerente )è in tedesco e non capisco la struttura, infatti usa il prototype per ampliare la classe MovieClip, ma sul RollOut come faccio a far diventare la classe movieClip come era prima????:
// Cursor in normal Form für MCs
MovieClip.prototype.useHandCursor = _focusrect = false;
// setFocus für alle MCs und Buttons bei onPress setzen
MovieClip.prototype.onPress = Button.prototype.onPress = function() {
Selection.setFocus(this);
f_click = true;
}
// setFocus löschen wenn nicht aufs gleiche Object geklickt wurde
MovieClip.onRollOver = function() {
if(f_select == Selection.getFocus() && !f_click) {
Selection.setFocus(null);
}
f_select = Selection.getFocus();
delete f_click;
}
MovieClip.onRollOut = function() {
if(f_select == Selection.getFocus() && !f_click) {
Selection.setFocus(null);
}
f_select = Selection.getFocus();
delete f_click;
}
Grazie cari ragazzi.