Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/02/2009, 16:56
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: Juego de cartas > ayuda

Hola Balkar !

Los códigos que te voy a mostrar son en Actionscript 3.0, espero que sigas esa línea porque te va a facilitar el desarrollo del juego.

Puedes utilizar un vector de objetos definiendo una variable del tipo Array, en As3.0 tienes algunas clases para manejar colecciones de objetos como ArrayCollection.

En cuando al atributo depende mucho de los requerimientos, si quieres que la imagen guarde un estado y comportamiento, en este caso si definiría una clase Imagen y la asociaría con la clase Carta, yo utilicé una cadena para el atributo imagen, solamente quería que almacenara la ruta y en base a eso, por ejemplo cargarla en un movieclip.

Ahora va lo bueno, te va a facilitar muchísimo el cómo trabajarás con flash.
A los movieclips les puedes vincular una clase definida por el usuario (por ti), en este caso puedes definir una clase Carta y vincularla con algún movieclip de la librería.

Creas un movieclip para que sea la carta, ya la tienes bien decoradita y toda la cosa, ahora a ese movieclip lo vinculas con una clase donde definiste comportamientos específicos:

Carta.as
Código actionscript:
Ver original
  1. package
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.display.Loader;
  5.     import flash.events.Event;
  6.     import flash.events.MouseEvent;
  7.     import flash.net.URLRequest;
  8.    
  9.     public class Carta extends MovieClip
  10.     {
  11.         private var _valor:int;
  12.         private var _imagen:String;
  13.         private var _loader:Loader;
  14.    
  15.         public function Carta(valor:int, imagen:String)
  16.         {
  17.             _valor = valor;
  18.             _imagen = imagen;
  19.                         //Objeto que se encarga de cargar la imagen.
  20.             _loader = new Loader();
  21.             _loader.visible = false;
  22.             loadImage();
  23.             addChild(_loader);
  24.             addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
  25.             addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
  26.         }
  27.        
  28.         private function onMouseDown(evt:MouseEvent):void
  29.         {
  30.             _loader.visible = true;
  31.         }
  32.        
  33.         private function onMouseUp(evt:MouseEvent):void
  34.         {
  35.             _loader.visible = false;
  36.         }
  37.        
  38.         public function esMayor(carta:Carta):Boolean
  39.         {
  40.             if(carta.valor > _valor) {
  41.                 return true;
  42.             }
  43.             return false;
  44.         }
  45.        
  46.         private function loadImage():void
  47.         {
  48.             var request:URLRequest = new URLRequest(_imagen);
  49.             _loader.load(request)
  50.         }
  51.    
  52.         public function get valor():int
  53.         {
  54.             return _valor;
  55.         }
  56.     }
  57. }

Debes de heredar de la clase MovieClip porque es una vinculación con un movieclip de la librería, ahora buscas en la librería el movieclip carta, das click derecho -> vincular y en el campo clase escribes el nombre de la clase que definiste, que es Carta.

Ahora en la raiz de ru proyecto coloca el siguiente código:
Código actionscript:
Ver original
  1. var carta1:Carta = new Carta(5, "carta1.jpg");
  2. carta1.x = 100;
  3. carta1.y = 100;
  4.  
  5. var carta2:Carta = new Carta(10, "carta2.jpg");
  6. carta2.x = 400;
  7. carta2.y = 100;
  8.  
  9. trace(carta2.esMayor(carta1));
  10.  
  11. addChild(carta1);
  12. addChild(carta2);

Ahora te daras cuenta cuando compiles el proyecto que se han añadido 2 movieclip carta, cuando le doy click a una, me muestra la imagen de la carta y cuando suelto el click del mouse la oculta, todos esos comportamientos los definí en la clase que coloqué arriba.

Ahora ya nada mas es cosa que experimentes y practiques.

Te voy a dejar el fla del ejemplo por si han quedado algunas dudas.

Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.

Última edición por cvander; 06/09/2010 a las 09:58