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.
Etiquetas:
Roger, como no tengo ni idea de hacer una actividad para poder poner las "h" donde hagan falta, se me ocurrió hacer dos matrices, una para la palabra sin "h" y otra con la solución, de tal manera que pudiese relacionar mediante un "if", la palabra incorrecta con la correcta.
Las otras opciones: quitar acentos, espacios, etc son más fáciles de hacer porque tienen un procedimiento claro, pero no sé cómo hacer para quitar la "h" en un sitio determinado.
Así que, ahí ando atascada.
Si me pudieses echar una mano.
Gracias.
Nueva ayuda. Roger tengo los siguientes problemas con la aplicación:
1º.-No me funciona que se active un clip que se llama correcto, cuando todas las letras están colocadas correctamente (el código en la capa aciertos)
2º.-Al heredar las letras las propiedades del clip, se siguen pudiendo mover aunque se hallan quedado en su sitio, aún cambiandolas el nombre. También la función de detectar la colisión me hubiese gustado hacerla con un bucle, pero no me funciona. Está el código en el clip letra
3º.-En este ejercicio si hay dos letras iguales deberían poder ponerse indistintamente en cualquiera de los cajetines que le corresponden, pero no sé como hacer eso.
Un saludo.
Gracias Juan Manuel, pero ese ejercicio ya sé hacerlo. Quiero aprender a hacer uno que me corrija las "h", quien dice las "h", puede ser las v, b, c, z, etc. Sería muy útil.
Gracias.
P.D.: Roger, aquí falta añadir unos emoticonesssssssssssss.
Mira Nani en el código siguiente tienes una solución:
function quitar_letras() {
_root.solucion = frase[random(4)];
_root.palabra_nueva = "";
for (n=0; n<_root.solucion.length; n++) {
if (_root.solucion.substr(n, 1)<>"a" and _root.solucion.substr(n, 1)<>" " ) {
_root.palabra_nueva += _root.solucion.substr(n, 1);
} else {_root.palabra_nueva+=" "}
}
}
Si quieres quitar más letras repites más sentencias condicionales.
Nani dijo:
Gracias Juan Manuel, pero ese ejercicio ya sé hacerlo. Quiero aprender a hacer uno que me corrija las "h", quien dice las "h", puede ser las v, b, c, z, etc. Sería muy útil.
Gracias.
P.D.: Roger, aquí falta añadir unos emoticonesssssssssssss.
Hola Javier,
He modificado creando un código más abstracto pero más potente. Ya que con pocas líneas puede servir para palabras que tengan cualquier longitud. Si te fijas construyo los nombres de variables y clips utilizando partes de las cadenas. Y utiizo el operador this para referirme al clip donde he hecho clic con el ratón.
Si hay algon que no entienas me lo dices
on (press) {
if (this._name.substr(0, 1) == "l") { // Solo se arrastrará si el clip empieza por "l" de letra
this.startDrag();
}
}
on (release) {
if (this.hitTest(_root["cuadro"+this._name.substr(5, 1)])) { // Si este clip (this) colisiona con el cuadro correspodiente
this._x = _root["cuadro"+this._name.substr(5, 1)]._x+18;
this._y = _root["cuadro"+this._name.substr(5, 1)]._y;
this.stopDrag();
_root.aciertos++;
if (_root.aciertos==_root.longitud){_root.correcto.gotoAndStop(2);}
this._name = "borrada"+this._name.substr(5, 1);// para cambiar el nombre.
} else {
if (this._name.substr(0, 1) == "l") {this._x = random(400)+70;this._y = random(200)+80;}//Para evitar que al hacer clic en una letra ya colocada se vaya de sus sitio
}
}
Respecto al al clip correcto lo tenías en aplha y te lo he integrrado en este mismo código.
Respecto que si hay dos letras iguales lo puedes solucionar añadiendo un or al if para que compruebe mediante un substr que esa letra (clip.campo_de_texto) es la misma que la palabra. No lo he hecho pero tengo la idea. Podría ser este tema el comienzo de tutorial 24.
Javier de la Cruz dijo:
Nueva ayuda. Roger tengo los siguientes problemas con la aplicación:
1º.-No me funciona que se active un clip que se llama correcto, cuando todas las letras están colocadas correctamente (el código en la capa aciertos)
2º.-Al heredar las letras las propiedades del clip, se siguen pudiendo mover aunque se hallan quedado en su sitio, aún cambiandolas el nombre. También la función de detectar la colisión me hubiese gustado hacerla con un bucle, pero no me funciona. Está el código en el clip letra
3º.-En este ejercicio si hay dos letras iguales deberían poder ponerse indistintamente en cualquiera de los cajetines que le corresponden, pero no sé como hacer eso.
Un saludo.
Hola Roger. Gracias por la respuesta. No se me había ocurrido que al igual que recorremos el contenido de una variable se puede recorrer el nombre de un movieclip.
Ahora funciona. Respecto a lo de las letras iguales entiendo lo que me quieres decir, pero no consigo hacerlo. He hecho muchas pruebas, pero no lo consigo. Mi duda es como leer la letra de un movieclip que solo tiene una letra, ya que no es una variable.
por ejemplo ¿como la leemos del this? this.susbstr(0,1) ¿sería correcto? lo he probado pero no lo consigo. De todas formas si lo vamos a ver en el tutorial 24 ya lo veremos en su momento,
Un saludo.
Pero lo que leo, con esa expresión, es el nombre del clip no la letra que contiene el clip.
© 2024 Creado por roger. Tecnología de