pulsante interno a un swf caricato in un altro file flash

  • Creatore Discussione Creatore Discussione jhonny
  • Data di inizio Data di inizio

jhonny

Nuovo Utente
2 Dic 2012
8
0
0
ciao a tutti, mi sono appena iscritta perchè un problemino con flash mi sta facendo impazzire,spero che qualcuno mi possa aiutare.
ho un file swf con dentro una serie di foto che fungono da pulsanti.
in un altro file carico l'swf con le foto (pulsanti) e aggiungo uno scroller. nello stesso file vorrei che i pulsanti carichino la foto in grande in un altro contenitore sullo stage.

per ora ho un contenitore (contenuto) che carica l'swf con i pulsanti

stop();
loadMovie ("file:////Volumes/Macintosh%20HD/Users/Desktop/WEBSITE.S/galleryG/menu.swf", "contenuto");

e lo applica alla scrollbar

da qui in poi ogni azione che applico ai pulsanti (es:

_root.contenuto.G1.onPress =function ();{
gotoAndStop (nextFrame)}

non solo non funziona ma mi impedisce il caricamento del swf col menu oppure non mi applica piu lo stop e il filmato scorre liberamente nei due fotogrammi fermandosi solo se metto lo stop nel secondo fotogramma in cui non ci sono altre azioni.

vorrei riuscire ad applicare un'azione ai pulsanti senza che mi si annulli quella dello stop sul primo fotogramma o il loadMovie dell'swf con i pulsanti stessi.
non sono molto pratica di ActionScript di solito trovo le soluzioni che mi servono su qualche forum ma con codici troppo elaborati non so piu da che parte girarmi. grazie a tutti in anticipo!
 
Ciao e benvenuta sul forum.

Il codice che hai postato fa pipì da tutte le parti in paticolare questo:

Codice:
_root.contenuto.G1.onPress =function ();{
gotoAndStop (nextFrame)}
il punto e virgola dopo (); non ci vuole
e poi non capisco che senso abbia il nextFrame dentro il gotoAndStop
in cui all'interno va messo o il numero del fotogramma o il nome del fotogramma
in cui il cursore di flash si deve posizionare e fermare.

Quello che ti serve è una galleria fotografica ma mi sembra che ti stia incasinando di più con l'importazione di un swf esterno caricato sul documento principale e poi ancora un terzo su cui caricare le foto in grande... non puoi utilizzare i clip anzicchè swf esterni o hai un problema di peso del filmato?

guarda un po questa foto
galleria-farfalla-650.jpg


te la posso realizzare con un solo swf le foto esterne e vengono caricate con loadMovie in un clip chiamato 'contenitore'
il filmato swf sarà leggerissimo e le foto caricate possimao mettere un bel effetto speciale a dissolvenza anzi meglio dire a comparsa che ne dici?

PS. le foto piccole si possono caricare esternamente da un file txt e le foto grandi lo stesso + lo scoll per le foto piccole che non sono altro che pulsanti che caricano la foto grande nel box a fianco sx.
 
Ultima modifica:
immaginavo che il codice fosse totalmente errato dato che non sono molto esperta, ma sto realizzando un sito a un pittore che vuole determinate caratteristiche, ho provato a scaricare altre gallery, ma non conoscendo il codice non so più come adeguarle alla grafica che voglio io, e sinceramente imparare non mi dispiacerebbe.

ti dispiacerebbe dirmi se ho fatto qualche errore nel copiare il codice della scroll bar? è l'unico che sono riuscita a far funzionare xD

function scrollUpdate() {
var contenuto = this._parent.contenuto;
if (contenuto._height<this.bg._height) {
this._visible = false;
} else {
this._visible = true;
}
var pxls_cont = contenuto._height-this.bg._height;
var pxls_scroll = this.bg._height-this.barra._height;
var alfa = pxls_cont/pxls_scroll;
var vel = 2;
var desty = -this.barra._y*alfa+this.hxini;
desty = Math.floor(desty);
contenuto._y = Math.floor((contenuto._y*vel+desty)/(vel+1));
}
function starmenuScroll() {
yfin = this._parent.bg._height-this._height;
this.startDrag("", this._x, 0, this._x, yfin);
}
function stopScroll() {
this.stopDrag();
}
function moveScroll(dir) {
if (dir == "stop") {
delete controlador["onEnterFrame"];
} else {
var barra = this.barra;
var vel = 1;
if (dir == "cima") {
var lim = 0;
vel = vel*-1;
} else {
var lim = this.bg._height-barra._height;
}
}
controlador.onEnterFrame = function() {
if (dir == "baixo") {
if (barra._y+vel<lim) {
barra._y = barra._y+vel;
} else {
barra._y = lim;
}
} else if (barra._y+vel>lim) {
barra._y = barra._y+vel;
} else {
barra._y = lim;
}
};
}
this.hxini = this._parent.contenuto._y;
this.onEnterFrame = scrollUpdate;
this.barra.onPress = starmenuScroll;
this.barra.onRelease = stopScroll;
this.barra.onReleaseOutside = stopScroll;
this.createEmptyMovieClip("controlador", 800);
sup.onPress = function() {
moveScroll("cima");
};
sup.onRelease = inf.onRelease=function () {
moveScroll("stop");
};
inf.onPress = function() {
moveScroll("baixo");
};
inf.onRelease = function() {
moveScroll("stop");
};
barra.useHandCursor = true;
sup.useHandCursor = false;
inf.useHandCursor = false;


e poi volevo fare esattamente quello che dicevi tu, nella scroll bar ho caricato questo swf con questo elenco di pulsanti (foto piccole) e vorrei che cliccando aprissero le foto grandi.. potresti spiegarmelo? grazie mille!
 
il codice è corretto almeno non mi dà errore, serve soltanto a muovere una barra di qualke menu

per creare dei pulsanti menù devi trasformare le piccole foto in pulsanti o meglio in clip
e pressando su di essi ti carica le foto in grande in un altro punto dello stage.
Poi per caricarlo dentro un altro swf dovresti creare tutto il percorso tipo
_root.nomeclipdelfilmato.loadMovie("fotodainserire.jpg");
quando carichi un swf sul principale anche i clip risultano sul principale e la root che comanda il gioco
oppure dovresti utilizzare loadMovieNum che non usa clip ma livelli.

guarda se ti può essere utile questo
bottone-esempio2.jpg


esempio
http://max400.netne.net/bottone.swf
qui c'è l'allegato
max400.netne.net/bottone-esempio.zip
 
Ultima modifica:
per creare dei pulsanti menù devi trasformare le piccole foto in pulsanti o meglio in clip
e pressando su di essi ti carica le foto in grande in un altro punto dello stage.
Poi per caricarlo dentro un altro swf dovresti creare tutto il percorso tipo
_root.nomeclipdelfilmato.loadMovie("fotodainserire.jpg");

io ho i pulsanti in un swf che viene caricato dentro un altro swf che gli applica la scrollbar, quindi devo dare l'azione a un pulsante dentro un altro swf, dall'swf in cui è inserito scusa la mia ignoranza ma non riesco a capire alcune cose, dove devo mettere quest'azione?

on (press) {_root.contenitore.loadMovie("nome foto");
}

e dov'è che gli dico il nome del pulsante che la deve eseguire? ho visto che l'azione è messa sul contenitore che carica l'immagine del pulsante, è la stessa cosa se i miei pulsanti non sono contenitori ma foto trasformate in pulsante? e soprattutto, essendo in un altro swf dove devo mettere quest'azione?

scusami ancora se ti riempio di domande ma è una settimana che cerco informazioni e sei l'unico che è riuscito a spiegarmi qualcosa di comprensibile :)
 
l'istruzione va messo su ogni pulsante dell'swf con lo slide che carica l'immagine in grande nell'altro swf
l'esempio che ti ho fatto io è piuttosto semplice è cosi dovresti impostare il tuo lavoro, però il mio esempio carica le foto nello stesso filmato.

Per fare esattamente quello che ti serve a te dovrei creare 3 swf
immaginiamo....
- un swf principale al centro, (che ospita tutte e due i filmati)
- un altro swf sulla destra che contiene lo slide scorrevole con le foto piccole e
- un altro swf contenitore su cui vengono caricate le foto in grande

Questa è la diagnosi per come l'ho capito io, correggimi se ho capito male
gallery-3-swf.jpg


in caso domani pomeriggio faccio un nuovo esempio, creo questi 3 filmati e li faccio combinare tra loro.
A domani
 
il progetto che ho io è leggermente diverso perchè non sapendo fare la scrollbar lo scaricata e solo la scrollbar sono 2 swf, uno con i pulsanti che viene caricato nell'altro con la scrollbar tramite loadMovie, ora le foto io le posso caricare sia sull'swf con la scrollbar che su un altro caricando entrambi i filmati, quello che non so fare è comandare i pulsanti che sono in un swf esterno a quello su cui io devo caricare le foto, provo a spiegarmi graficamente anchio che è piu immediato
ok.jpg
 
le istruzioni vanno messe nell'swf deve hai lo slide.
Il tuo è un problema di percorsi, avendo a che fare con più swf devi scrivere il giusto percorso.

esempio
on (press) {_root.contenitore.contenitore2.loadMovie("uragano-grande.jpg");
}

fi attenzione a questo percorso
_root.contenitore.contenitore2.loadMovie("uragano-grande.jpg");

_root l'swf principale che ospita lo slide
cntenitore è il clip sempre sul principale che carica swf contenitore
contenitore2 è il clip all'interno del swf contenitore sul quale vengono caricate le foto in grande

questo è il nuovo esempio, è formato da 3 swf (il principale, lo slide, il contenitore)
http://max400.netne.net/principale.swf
(il tutto viene raccolto in questo file pricipale)

questo è da scaricare
max400.netne.net/3swf.zip

Studia quest'esempio e potrai risolvere il tuo problema
questo è tutto, buona fortuna!
 
finalmente ce l'ho fatta, per comodità ho caricato degli swf con la foto invece che la foto in se, ma data la mia ignoranza in materia volevo chiedere che azione applicare per dare il comando fullscreen a un pulsante nell'swf caricato.. grazie ancora
 
ciao, mi fa piacere che hai risolto.
Per il fullscreen ci sono degli script da inserire "dentro" il filmato ed esternamente "nella pagina web".
Questo fullscreen non funziona però in tutti i pc per un fatto di protezioni o sistema operativo...
comunque guarda quest'esempio e controlla se ti funziona....
http://digilander.libero.it/max_maxuell/flash - phoenix schermo intero.html
c'è un pulsante in basso a sinistra di colore grigio dove c'è scritto "schermo intero"...

Codice:
<param name="allowFullScreen" value="true" />
<embed allowFullscreen="true" src="phoenix-schermo-intero.swf" width=550 height=400><br>
questo è il codice da mettere nella pagina web (.html)

e poi dentro il filmato flash nel primo fotogramma metti questa funzione
Codice:
function goFullScreen(){
Stage["displayState"] = "fullScreen";
}
function exitFullScreen(){
Stage["displayState"] = "normal";
}

e nel pulsante la richiami così
Codice:
on (press) {
	goFullScreen();
}

in un altro pulsante per uscire

Codice:
on (press) {
	exitFullScreen();
}

prova e vedi se ti funziona.
 
ciao, ho risolto facendo un pulsante che va al secondo frame dell'swf coll'immagine in cui c'è un dettaglio ingrandito della stessa, anche qui con la root mi sto un po' confondendo però mi sembra di aver capito piu o meno come funziona :)
 

Discussioni simili