Comunidad de diseño web y desarrollo en internet online

¿donde esta el codigo de las piezas del puzzle?

Citar            
MensajeEscrito el 05 Jun 2004 10:11 am
¿Alguien me podria decir donde esta es codigo AS de las piezas del puzzle de demostracion de Macromedia?; es que estoy intentando averiguar como esta hecho , y solo encuentro el codigo de los botones.

Un saludo

Por federico

26 de clabLevel



 

unknown
Citar            
MensajeEscrito el 05 Jun 2004 04:59 pm
Bueno ya encontre el codigo AS, le he estado mirando, y no comprendo como selecciona las piezas del puzzle para arrastrarlas y girarlas;

en concreto ¿donde se carga el valor de la variable "whichpiece". el codigo es este :



// ----------

// INITIALIZE

// ----------

// ENTER code here

_root.pattern._visible = false;

_root.edges._visible = false;

_root.image._visible = false;

_root.piecenumbers._visible = false;

_root.scramblebutton._visible = false;

_root.areyousure._visible = false;

_root.congrats._visible = false;

dialog = true;

// ---------

// FUNCTIONS

// ---------

// scrambles the puzzle pieces

function Scramble() {

// enter trace action here

for (var i = 1; i<=49; i++) {

with (this["piece"+i]) {

_x = Math.floor(Math.random()*400)+360;

_y = Math.floor(Math.random()*480)+40;

_rotation = Math.floor(Math.random()*4)*90;

}

}

}

//

// rotates, displays, or drags a piece

// depending on the key pressed

//

// ENTER RotateDisplayOrDrag() function here

function RotateDisplayOrDrag(whichPiece) {

if (Key.isDown(18)) {

_root[whichPiece]._rotation += 90;

} else if (Key.isDown(Key.SHIFT)) {

pieceNumber = whichPiece.slice(5);

} else {

startDrag(_root[whichPiece], false, 20, 20, 780, 580);

}

}

//

// snaps pieces into the solution grid

function Snap(whichPiece) {

if (whichPiece._x>40 && whichPiece._x<320 && whichPiece._y>40 && whichPiece._y<320) {

var xSnapNumber = Math.floor((whichPiece._x-20)/40);

var ySnapNumber = Math.floor((whichPiece._y-20)/40);

if (((whichPiece._x-20)%40)/40<.5) {

whichPiece._x = xSnapNumber*40+20;

} else {

whichPiece._x = (xSnapNumber+1)*40+20;

}

if (((whichPiece._y-20)%40)/40<.5) {

whichPiece._y = ySnapNumber*40+20;

} else {

whichPiece._y = (ySnapNumber+1)*40+20;

}

}

}

// checks if all the pieces are in their correct positions

function IsItDone() {

var columns = 7;

for (var i = 1; i<=49; i++) {

var row = Math.ceil(i/columns);

var column = i-((row-1)*columns);

with (this["piece"+i]) {

if (_x != column*40+20 || _y != row*40+20 || _rotation != 0) {

break;

}

}

}

if (i == 50) {

congrats._visible = true;

dialog = true;

}

}

// clear piece number text field when the movie starts

pieceNumber = "";



¿alguien me puede ayudar?

Por federico

26 de clabLevel



 

unknown
Citar            
MensajeEscrito el 05 Jun 2004 05:13 pm
...pues 'wichPiece' corresponde al nombre de instancia de cada ficha del puzzle...una preguntik: de dónde sacaste ese puzzle ? ...es el el FMX ? ?...es que no lo tengo instalado ya.

Por gersonm

Claber

2238 de clabLevel

12 tutoriales
1 articulo
5 ejemplos

Genero:Masculino   Desarrollador de GAIA

Al otro lado de la mira

unknown
Citar            
MensajeEscrito el 05 Jun 2004 08:07 pm
si ya se que 'wichPiece' corresponde al nombre de instancia de cada ficha del puzzle, pero lo que no entiendo es como se carga con el nombre de la ficha que cliqueas.

E cuanto a lo del puzzle lo baje de de la red, pero ahora no recuerdo de donde, si me das uana direccion te lo envio.

Por federico

26 de clabLevel



 

unknown
Citar            
MensajeEscrito el 06 Jun 2004 03:04 am
en mi perfil está la dirección...estaré esperando el zip con el fla....de todos modos, me imagino que al menos se usó algún addListener para capturar el click del ratón...bueno, sólo es una teoría, habría que ver el code.

Por gersonm

Claber

2238 de clabLevel

12 tutoriales
1 articulo
5 ejemplos

Genero:Masculino   Desarrollador de GAIA

Al otro lado de la mira

unknown
Citar            
MensajeEscrito el 06 Jun 2004 03:20 am
si les interesa yo hice un sencillo rompecabezas con ocho piezas y el codigo es bastante "criollo" pero por ahí les sirve de algo. Si les interesa se los mando el fla.

Por cusiri

341 de clabLevel

2 tutoriales

Genero:Masculino  

Trinidad - Beni - Bolivia

unknown
Citar            
MensajeEscrito el 06 Jun 2004 03:34 am
No puedes publicar la URL donde este el SWF para verlo cusiri?

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 06 Jun 2004 03:47 am
aquí está



http://cusiri.tripod.com/rompecabezas.html





y el fla

http://cusiri.tripod.com/mapabeni.fla



creo que este último tienen que darle click derecho y elegir "guardar enlace a disco" (save link to disk)









P.S. sabía que en algún disco tenia archivado el puzzle.fla de macromedia, ya lo encontré. Son 340 Kb comprimido en rar.



creo que mejor lo mando a cristalab para que esté disponible para todos. Porque aveces me entra la chulupera de borrar todos los archivos de esa web que tengo

Por cusiri

341 de clabLevel

2 tutoriales

Genero:Masculino  

Trinidad - Beni - Bolivia

unknown
Citar            
MensajeEscrito el 06 Jun 2004 07:41 am
Cusiri, no he podido bajar el .fla de tu puzzle, ¿me lo podrias enviar?.

E-mail : [email protected]

Gracias

Un saludo

Por federico

26 de clabLevel



 

unknown
Citar            
MensajeEscrito el 06 Jun 2004 03:33 pm
Hola federico



Luego e descargar el puzzle me di cuenta que era el que yo te dije, el típico ejemplo cd FMX.



Con respecto a tu variable: No es una variable que se defina en cualquier lado , precisamente se define al momento de llamar a la función que la toma como parámetro....es decir, se define en el mismo instante en que se hace el llamado a la función.



Más detallado-> Hay una función encargada del Snap, y ya te has dado cuenta. Pues bien, esa función espera un parámetro, y a lo que sea que llegue le asignará el valor 'whichPiece' para su posterior uso. Por ejemplo:



Dentro de cada pieza hay un MC que al soltarse (release) llama a la función

Código :

Snap(_parent)
....esto le envía el MC del nivel anterior a donde se encuentra, que será la pieza, y es como si dijéramos

Código :

Snap(_root.pieza#)
Entonces la función le asigna el 'alias' de 'whichPiece', así, y por referencia, moificarà las propiedades del MC que está llegando.



Espero que me hayas entendido.

Por gersonm

Claber

2238 de clabLevel

12 tutoriales
1 articulo
5 ejemplos

Genero:Masculino   Desarrollador de GAIA

Al otro lado de la mira

unknown
Citar            
MensajeEscrito el 06 Jun 2004 04:05 pm
Si no te he comprendido mal, me quieres decir que en cada MC hay un script que te envia a las acciones de la capa de "actions", en la linea de tiempo principal; pero, ¿donde estan esos script?, pues yo no los encuentro por nimgun lado.

Por federico

26 de clabLevel



 

unknown
Citar            
MensajeEscrito el 06 Jun 2004 04:14 pm
Sip. El script está dentro del cuadrito existente en cada ficha. Fíjate y verás que si editas cada ficha encontrarás un cuadrado en el centro, y si editas el cuadrado, hallarás en el único frame el sgte code

Código :

_visible = false;

// 

// ENTER code here

_parent.onPress = function() {

   if (!_root.dialog) {

      _root.RotateDisplayOrDrag(_parent._name);

   }

};

// 

// 

_parent.onRelease = function() {

   stopDrag();

   _root.Snap(_parent);

   if (!_root.dialog) {

      _root.IsItDone();

   }

};



...como ves, cada que se suelta o se oprime, se hace el llamado a _root.Snap(_parent); y _root.RotateDisplayOrDrag(_parent._name); respectivamente, quienes envían por parámetro el nombre del MC, que en últimas dentro de la función se hace llamar por referencia 'wichPiece'



Suerte

Por gersonm

Claber

2238 de clabLevel

12 tutoriales
1 articulo
5 ejemplos

Genero:Masculino   Desarrollador de GAIA

Al otro lado de la mira

unknown
Citar            
MensajeEscrito el 06 Jun 2004 04:33 pm
No lo encuentro, pero ya lo entiendo.

Gracias

Un saludo

Por federico

26 de clabLevel



 

unknown

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.