ok manda
giugno@libero.it
non avevo capito che ti serviva che il quadrato rimanesse, e lì il punto di registrazione è importante, ma si ovvia mettendo un altro quadrato intorno
ok manda
giugno@libero.it
non avevo capito che ti serviva che il quadrato rimanesse, e lì il punto di registrazione è importante, ma si ovvia mettendo un altro quadrato intorno
ionoltre io non volevo che tornassero indietro se erano al posto sbagliato vorrei che si centrassero e che solo quando tutti sono al posto giusto il gioco finisce
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
non capisco dove devo inserire i codici....Originariamente inviato da polliotto
codice:// se voi che una clip si possa attaccare anche su diversi clip // tutti clip devono essere allineate al centro var clipArray = new Array(zona_01, zona_02, zona_03); // dragClip_mc il clip che devi draggare dragClip_mc.onPress = startDrag dragClip_mc.onRelease = function() { for (var u in clipArray) { if (this.hitTest(clipArray[u])) { this.stopDrag(); this._x = clipArray[u]._x; this._y = clipArray[u]._y; } } }; // se voi che una clip si possa attaccare su un clip dragClip_mc.clip = zona_01; dragClip_mc.onPress = startDrag; dragClip_mc.onRelease = function() { if (this.hitTest(this.clip)) { this.stopDrag(); this._x = this.clip._x; this._y = this.clip._y; } };
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
allora riepiloghiamo, tu li trascini, loro stanno dove li trascini e si centrano, quando ci riclicchi su c'è la possibilità di ritrascinarli ancora, quando si trova la posizione giusta appare una scritta o quant'altro con scritto "hai vinto"
un po' più complicato perchè ogni volta deve valutare la posizione di tutti i pezzi, ma si può fare
veramente mi basterebbe che alla fine quando tutti i pezzi sono allineati che esce la scritta hai vinto
tipo
se il pezzo1,pezzo2 etc sono al posto giusto hai vinto se no il gioco continua
ciao e grazie per il tuo aiutoi in ogni caso anche se dovesse finir male
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
non finisce male, se mi spedisci il fla te lo modifico, altrimenti ti faccio un esempio (raccomandandoci a tutti i santi del web che ti si apra perchè io ho un macintosh)
//tutto codice metti sulla timeline
codice://ovviamente prima di iniziare tutti puzzle devono essere al livello superiore delle zone da attacccare // in questo array inserisci i nomi dei clip da draggare clipArr = [clip_01, clip_02, clip_03]; // in questo array inserisci i nomi delle zone, ATTENTO SE METTI AL CAVOLO I NOMI SI ATTACCERANNO MALE, PERCIO SE clip_01 ha area zona_01 allora in primo posto nel array deve essere alteretanto la zona!!! zonaArr = [zona_01, zona_02, zona_03]; function pressFunc() { this.exDepth = this.getDepth(); this.swapDepths(10000); this.startDrag(false); } function releaseFunc() { if (this.hitTest(this.clip)) { this.stopDrag(); this._x = this.clip._x; this._y = this.clip._y; this.swapDepths(this.exDepth); } } function init() { for (var u in clipArr) { clipArr[u].clip = zonaArr[u]; clipArr[u].onPress = pressFunc; clipArr[u].onRelease = releaseFunc; } } init();
te lo rimandato, nel caso non riuscissi ad aprire il fla ecco la spiegazione
ti fai i pezzetti della foto o di che vuoi tu, metti ogni pezzetto in un frame, quando li hai messi tutti apri il pannello allinea e li centri tutti (scegliendo il secondo e il quinto bottone e allinea to stage)
poi nel primo frame metti
nome = substring(_name, 2, _name.length);
gotoAndStop(nome);
mc = _root["g"+this.nome];
this.onRelease = this.onReleaseOutside=function () {
stopDrag();
m=eval(this._droptarget)
if (substring(m._name,1,1) == "g") {
this._x = m._x;
this._y = m._y;
this.temp=m
}
};
this.onPress = function() {
startDrag(this, true);
this.swapDepths(100)
};
poi ti fai il quadrato della stessa grandezza, gli dai quei nomi li' e gli dai alfa 0
in un livello superiore disegni la griglia e infine nel frame dove ci sono tutti i movie clip (cioè nella timeline principale) scrivi
this.onEnterFrame = function() {
z = 0;
for (i=1; i<=6; i++) {
if (this["p"+i].mc == this["p"+i].temp) {
z++;
}
}
if (z == 6) {
this.risultato= "Hai vinto";
}
};
risultato è la variabile associata ad un campo dinamico sulla _root