Yo tengo dudas acerca de las pistas en la actividad de poner las palabras al revés.

Si hago el código de que la pista se convierta en una "?", en caso de fallo saldrían todas interrogaciones. Como no sabía como hacer, le dije que en caso de fallo volviese a la frase original y empieza de nuevo.

Me gustaría saber cómo hacer para conservar las letras que estén bien y volver a colocar las originales.

Visitas: 599

Archivos adjuntos

Respuestas a esta discusión

Así he probado, pero no me ha funcionado, volveré a probar, a lo mejor hice algo mal.

Un saludo.

Hola. Sigo sin conseguirlo Roger. He hecho una modificación en el clip cuadro, para que también cargue la letra, y poder así comparar el clip de la letra con el clip del cuadro, si ambos contienen la misma letra, pero no me funciona. Te lo envío a ver si me dices qué hago mal.
Archivos adjuntos

Javier,

 

Aunque no he podido dedicar mucho tiempo al tema mira a ver si esto funciona:

Si no entiendes algo dímelo es importante. Me funciona todas las letras menos una pero la cosa andda por aqui.

El código lo que hace es comprobar que colisonan los clips del msimo número (cuadro y letra) y además que contengan el mismo valor en sus variables (cuadro1, letras)


on (release) {

    if (this.hitTest(_root["cuadro"+this._name.substr(5, 1)]) and this.letra.letras == _root["cuadro"+this._name.substr(5, 1)].cuadro1) {

        this.stopDrag();
    }
  
    else { this._y =random(300)+100; this.stopDrag();  }
}

 

 

 

 

 

 

 

 

Ahora si funciona Roger. Cuando lo termine lo subo.
Me alegro. Por fin lo conseguiste!!


Javier de la Cruz dijo:
Ahora si funciona Roger. Cuando lo termine lo subo.
Hola Roger. Después de hacer más pruebas no funciona correctamente. Como ando escaso de Internet he puesto la explicación en un archivo de texto y te lo envío, asi no tengo que escribirlo mientras estoy conectado.
Archivos adjuntos

Hola Javier,

Te envio una revisón de la versión anterior.  Mira los cambios:

En el fotograma principal para saber la letra que debe estar en su sitio.

_root["cuadro"+_root.capa].letra_solucion=palabra[_root.numero].substr(capa,1);

He creado un cuadro de texto dentro del cuadro donde almaceno la solicion de la letra.

 

También en el principal para borrar todo lo duplicado de forma fácil. Borra toda la matriz de clips duplicados que el propia flash controla independientemente.

 

function borrar_clips() { for (z in _root) {
if (typeof (_root[z]) == "movieclip") { _root[z].removeMovieClip(); }
}

}

 

El código del clip letra mejor te lo dejo en el fla, pero la idea principal es esta:

if (this.hitTest(_root["cuadro"+this._name.substr(5, 1)]) and this.letras == _root["cuadro"+this._name.substr(5, 1)].letra_solucion)

 

Comprobar que colisiona y que la letra del clip letra es igual a la variable del cuadro de texto del clip cuadro. Ojo porque dentro del clip cuadro he creado un cuadro det exto con la varaible letra.solucion

 

He dejado que se vean las letras del cuadro para comprobación.

 

Míratelo y dime como lo ves

Archivos adjuntos

Gracias Roger. Lo miro. Para no desesperarme me he puesto con el 23 y ya lo tengo hecho, aunque en una versión de prueba (con cinco frases que pone Esta es la frase número 1, 2, etc..) Ahora estoy pensándolo en cómo adaptarlo a algo de Ciencias Sociales y lo subo.

Un saludo.

 

Hola Roger. La solución que me planteas la había probado ya -es lo malo que tiene la comunicación asíncrona. Este código tiene un problema

if (this.hitTest(_root["cuadro"+this._name.substr(5, 1)]) and this.letras == _root["cuadro"+this._name.substr(5, 1)].letra_solucion)

 

En el fondo dice que el clip que movemos (pongamos p.e. el clip3) que si choca con el cuadro3 (this._name.substr(5,1) y que si las letras de ambos coinciden, hago lo que se pide, Pero ese ambos tiene que ser el 3, con lo que la comparación de la letra es inútil, ya que es una redundancia al tener el cuadro la misma letra que el clip (si tienen el mismo número)

 

La orden en lenguaje no de action script debería ser Si el clip que se mueve choca con un cuadro (el que sea) y el clip y el cuadro con el choca tienen la misma letra (entonces se para, se ubica correctamente, se suma un punto, etc...)

No sé si logro explicarme.

 

Tampoco quiero monopolizar esto.

Tienes razón Javier. Se me ha ocurrido una solución rápida:

En el clip cuadro registras el nombre del cuadro
onClipEvent (mouseMove) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {

_root.nombre = this._name;

}
}


Y en el clip letra detectas con quien ha colisionado
if (this.hitTest(_root[_root.nombre]) and this.letras == _root[_root.nombre].letra_solucion) {
this._x = _root[_root.nombre]._x+18;
this._y = _root[_root.nombre]._y;trace(_root.nombre);
aqui seigue el código restante...


Lo he comprobado rápido y parece que funciona.

Hola de nuevo Javier,

 

Te envio el fla y el swf del  código del mensaje anterior. He puesto varias letras repetidas para comprobar que funcione.

Archivos adjuntos

Mira Javier,

Ahora recuerdo que hice un interactivo de este tipo que estamos comentando. Mira en el apartado ejemplos tipos de actividades: http://www.genmagic.org/puzzle_text/puzzle_text.swf

RSS

© 2024   Creado por roger.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio