Ciao
Voglio creare un pulsante con la funzione full screen
e lo stesso pulsante mi deve permettere di tornare in modalità normale
Ho provato dei codici trovati in rete ma non funziona
Mi potete aiutare AS3
Grazie
Ciao
Voglio creare un pulsante con la funzione full screen
e lo stesso pulsante mi deve permettere di tornare in modalità normale
Ho provato dei codici trovati in rete ma non funziona
Mi potete aiutare AS3
Grazie
Ciao
Ho provato con questo tutorial e funziona tutto perfettamente: Link
Da notare comunque che: Non funziona la prova filmato da Flash ma il file deve essere publicato e come indicato nel tutorial, è necessario fare una piccola modifica al file .html settando il parametro allowFullScreen a true.
Ho constatato inoltre che facendo un copia e incolla del codice commentato, un "else" finisce tra i commenti e mancano le parentesi necessarie il che, compromette il funzionamento di parte del codice.
Riporto qui per comodità il codice "ripulito" dai commenti e corretto:
ciaoCodice PHP:import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.FullScreenEvent;
var FullScreenStatus:Boolean;
function init():void {
var swfStage:Stage = fullScreen_btn.stage;
swfStage.scaleMode = StageScaleMode.NO_SCALE;
swfStage.align = StageAlign.TOP_LEFT;
}
init();
function fullScreenRedraw(event:FullScreenEvent):void {
if (event.fullScreen) {
fullScreen_btn.label = "Disattiva FULLSCREEN";
FullScreenStatus = true;
} else {
fullScreen_btn.label = "Attiva FULLSCREEN";
FullScreenStatus = false;
}
}
fullScreen_btn.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenRedraw);
function changeFullScreenStatus(e:MouseEvent):void {
if (FullScreenStatus) {
fullScreen_btn.stage.displayState = StageDisplayState.NORMAL;
} else {
fullScreen_btn.stage.displayState = StageDisplayState.FULL_SCREEN;
}
}
fullScreen_btn.addEventListener(MouseEvent.CLICK, changeFullScreenStatus);
![]()
grazie ma mi da 2 errori su output e non funziona la cosa
1119: Accesso a una proprietà non definita label mediante un riferimento con tipo statico flash.display:SimpleButton.
L'errore è dovuto al fatto che non stai utilizzando il componente Button ma un tuo pulsante personalizzato ?1119: Accesso a una proprietà non definita label mediante un riferimento con tipo statico flash.display:SimpleButton.
Se ci fai caso, quando si utilizza un componente si crea in automatico una classe per quel componente e nelle sue proprietà è già spuntata la voce "esporta per actionScript".
A parte il fatto che la grafica di un componente in cs3 si può personalizzare completamente, se vuoi creare un pulsante tuo personalizzato e farlo funzionare con questo codice devi fare una piccola modifica:
1. Crea un nuovo simbolo ClipFilmato e nel primo fotogramma disegni la grafica del pulsante.
2. A un livello superiore, inserisci un campo di testo dinamico e scrivi: Attiva FullScreen.
3. Assegna un nome istanza al campo di testo dinamico ad esempio: testo
4. Esci dalla modalità editor del simbolo e cliccalo con il pulsante destro del mouse per entrare nel suo pannellino "concatenamento".
5. Metti la spunta su esporta per ActionScript e Flash ti avvertirà che non esiste una classe con questo nome ma che la creerà al momento della publicazione.
6. Dai l' ok
A questo punto hai creato una nuova classe (con il nome che hai dato al pulsante) appartenente alla classe base: flash.display.MovieClip.
Quindi il tuo pulsante eredita tutti i metodi della classe base: flash.display.MovieClip.
7. Modifica le righe di codice che cercano la proprietà "label" abbinata al componente Button ovvero:
fullScreen_btn.label = "Disattiva FULLSCREEN";
fullScreen_btn.label = "Attiva FULLSCREEN";
e cambiale con:
fullScreen_btn.testo.text = "Disattiva FULLSCREEN";
fullScreen_btn.testo.text = "Attiva FULLSCREEN";
Ovviamente presupponendo che il tuo pulsante abbia come nome istanza: fullScreen_btn e il campo di testo dinamico al suo interno abbia come nome istanza: testo
Scusami se l'ho fatta lunga e apparentemente complicata, ma anch'io stò imparando e il definire il più chiaramente possibile le operazioni da effettuare per risolvere questi problemi mi serve per assimilare bene i concetti e le funzionalità di Flash e AS3.
Spero comunque che queste spiegazioni siano utili come per me a te e a chiunque si trovi ad affrontare le problematiche nell'uso di AS3.
Ciao![]()
Grazie Sleter
davvero gentile....Adesso provo e ti faccio sapere
Niente non riesco a farlo andare
Neanche con un button preso dalle librerie comuni
Che strazzio
Non dalle librerie comuni, quelli sono semplici simboli pulsante e non sono predisposti per eseguire i metodi dei simboli MovieClip.
In alternativa al crearti un tuo pulsante movieClip come quello che ti ho indicato sopra, devi usare il componente Button che non è un semplice pulsante ma è un' estensione della classe MovieClip.
Nel menù "Finestra" apri "Componenti" (ctrl+F7) e scegli il componente "Button".
Lo sposti sullo stage e nel pannellino "Proprietà" dai il suo nome istanza: fullScreen_btn
Sempre nel pannellino "Proprietà" apri la scheda "Paramentri" e nel campo "Label" inserisci: Attiva FULLSCREEN (se il testo è troppo lungo puoi allargare il pulsante sempre dal pannello "Proprietà" : L: invece di 100, metti 120 o più.
Fatto ! non ti resta che copiare e incollare il codice sopra, in corrispondenza del fotogramma dove è presente il pulsante Button, publicare il file in .swf e .html ed effettuare la modifica nell .html come indicato sopra (allowFullScreen = true).
Quando hai fatto tutto puoi verificare il funzionamento sia dalla pagina .html che dall' .swf.
Sembra complicato ma con un pò di pratica tutto diventa facile.
L'importante è non rassegnarsi mai !![]()
ciao![]()
ho fatto passo passo quello che mi hai detto
ma non funziona niente
OK. Allora diciamo che tutto quello che ho scritto è solo una mia opinione !![]()
FullScreen Demo
Saluti![]()
Aggiornamento:
Aggiungo che per chi volesse mandare in FullScreen tutto l'.swf in modo che si ridimensioni in base alla risoluzione del monitor dell'utente (come nel demo proposto) occorre eliminare o commentare questa riga di codice:
Codice PHP:swfStage.scaleMode = StageScaleMode.NO_SCALE;
ciao![]()