Comunidad de diseño web y desarrollo en internet online

Ganador carrera de caballos

Citar            
MensajeEscrito el 19 Jun 2005 05:24 pm
Hola: estoy intentando hacer una carrera de caballos, y no se como hacer para que aparezca el nombre del que llega primero y que se paren al llegar a la meta.
Lo intento con un hitTest y con un texto dinamico para el ganador pero nada :(

Los clips no son duplicados......

Gracias!!

Por zumita

15 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Jun 2005 06:24 pm
Ya que dices que no son duplicados, como son los clips?, deberias usar this._name, que te da el nombre del clip al que referencias, ejemplo:

Código :

_root.mimovieclip.onRelease = function (){
    trace(this._name);//<--esto imprimirá "mimovieclip"
}

Bueno creo que es algo, espero te sirva :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 19 Jun 2005 07:26 pm
Maikel muchas gracias,pero sigo con problemas ya que quiero que salga el nombre del ganador no en la pantalla de salida con el trace sino dentro de la pelicula.
Me dijeron que lo hiciera con u texto dinamico dandole un valor a la variable.
Ahora intentare duplicar el clip a ver si asi consigo que se paren al llegar a meta y que salga el nombre del ganador.

Si se te ocurre algo avisame!!!!
Chas gracias ;)

Por zumita

15 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Jun 2005 07:49 pm
:? ok bueno veo que no tienes mucha experiencia a nivel de actionscript, bueno voy a tratar de explicartelo, cada movie clip tiene un nombre de instancia, supongo que sabes eso, con ese nombre de instancia puedes acceder a las propiedades y metodos de un movie clip (que a la final eso se llama un objeto en programacion).

_root.caballo1, _root.caballo2, _root.caballo3

esas son instancias de un mismo movieclip(objeto) con propiedades distintas(supongo que le cambiaste el color al menos) o iguales, vamos a llamar ese objeto caballo que es el nombre que te aparece en la biblioteca de flash, espero que hayas entendido hasta aqui.

Ahora una facilidad que te da actionscript es que puedes crear una variable (una variable puede ser una propiedad de un objeto) sin indicarle ni tipo ni nada, ejemplo:

_root.caballo1.nombrecaballo = "Caballo 1";
_root.caballo2.nombrecaballo = "Caballo 2";
_root.caballo3.nombrecaballo = "Caballo 3";

entonces con todo esto explicado, seguimos con el ejemplo anterior:

Código :

_root.caballo1.onRelease = function (){
     textodinamico.text = this.nombrecaballo;
}

el texto dinamico luego de esto mostrara, "Caballo 1";

Espero que sepas que es una instancia, y que sepas trabajar con los dynamic text a nivel de codigo y sepas que es onRelease :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 19 Jun 2005 09:51 pm
:D Gracias,estoy empezando ahora con Action Script,pero a tanto como para saber que es una instancia de un simbolo...jeje.

onRelease y demás tambien se lo que es y para lo que sirve.

Seguramente me esté liando a la hora de poner en alguna parte de la pelicula en ganador,poruqe con un trace y con texto dinamico lo unico que he conseguido ha sido que me aparezcann por orden de llegada,pero al para,solo se lee el ultimo.

Otra cosita:¿habria (se que la hay..) alguna manera de que cuando lleguen a la meta(lo itento con hitTest) o al final del escenario( esto lo intento con un if _x>500 por ejemplo),se paren los animalitos?

Muchisimas gracias, de verdad.

Por zumita

15 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Jun 2005 09:58 pm
Podrias poner algo de tu codigo para tener una idea mejor de como lo estas haciendo, claro con su respectiva explicacion... Estoy respondiendo a ciegas, no se como lo estas haciendo. :?

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 19 Jun 2005 10:12 pm
Esto es lo que estoy poniendo en la capa de acciones:

onEnterFrame=function(){
_root.camello1.nombre="Camello 1";
_root.camello2.nombre="Camello 2";
_root.camello3.nombre="Camello 3";
_root.camello4.nombre="Camello 4";
if(_root.camello1._x>500)
{

_root.camello1.stop();
_root.camello2.stop();
_root.camello3.stop();
_root.camello4.stop();

}
}
lo he dejado ahi para probar si se paraba!!

En cada instancia le he puesto:
onClipEvent (enterFrame) {
_x+=random(20);
}

Es un práctica que tengo que hacer, se trata de simular una carrera de camellos,donde vayan avanzando hasta la meta con velocidad aleatoria, y que cuando llegue el primero a una meta que dibujo (que es donde intento ponerle un hitTest), o bien cuando se salga del escenario (550), salga el nombre del ganador.

Este fue el código con el que empezamos a ver este tema:

stop();
var ganador="QUIEN GANARA??"
for(i=1;i<4;i++){
_root.circulo.duplicateMovieClip("clip"+i,i);
this["clip"+i]._y=random(420);
this["clip"+i].onEnterFrame=function(){
with(this){
_x+=random(30);
if(_x>550){
ganador="Ha ganado "+_name;
removeMovieClip();
delete onEnterFrame;
}

}

}

}


No se si me explico muy bien :crap:

Gracias por las molestias que te estás tomando!!

Por zumita

15 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Jun 2005 06:06 pm
con el permiso de maikel...

solo te dire algunas cosillas.

zumita escribió:


...........
_root.camello1.nombre="Camello 1";
_root.camello2.nombre="Camello 2";
_root.camello3.nombre="Camello 3";
_root.camello4.nombre="Camello 4";
.........

Esta parte del codigo no es necesario que este dentro del evento... ya que son unas variables fijas.


zumita escribió:


...........
if(_root.camello1._x>500)
{

_root.camello1.stop();
_root.camello2.stop();
_root.camello3.stop();
_root.camello4.stop();

}
.........

y esto no te parara cuando lleguen, solo en el caso que llegue el primer camello, pararan todos de golpe.

si lo que quieres que cuando llegue uno, a la meta se pare deberas colocar el codigo en el evento de MC.

pero si nos fundamentamos en el codigo "..con el que empezamos a ver este tema:", a simple vista parece que funcione.

yo solo variaria la linea siguiente:


Código :

 ganador="Ha ganado "+_name;
por esta otra

Código :

_root.ganador="Ha ganado el camello numero "+i


PD. si que duplicas los MC :o

Por Silvestre_

391 de clabLevel

1 tutorial

 

"un simple aficionado", pero acepto propuestas de trabajo

firefox
Citar            
MensajeEscrito el 20 Jun 2005 06:21 pm
Cierto silvestre, como tu dices es una de las tantas formas de llegar a la solución, bueno yo le dije lo del _root.caballo1.nombre era para que pudiera cambiarle el nombre por la que ella quisiera porque debemos tener claro que en las carreras de caballos cada uno tiene un nombre propio, lo que el this._name no nos funcionaria, bueno en realidad ya le solucione el problema ella me paso el codigo anoche y se lo arregle. :D

Igual tu aclaracion es valida... :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

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