Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/06/2013, 16:33
Avatar de dvpareja
dvpareja
 
Fecha de Ingreso: junio-2010
Ubicación: Vélez-Málaga
Mensajes: 126
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Juego pintar con flash

Buenas

este juego lo hice hace 2 o 3 años. Te puede servir de pista.

Lo primero que hacía era crear un tablero con recuadros en blanco, usando la siguiente clase:

Código AS3:
Ver original
  1. package  {
  2.    
  3.     import flash.display.MovieClip;
  4.     import flash.events.MouseEvent;
  5.     import flash.display.Sprite;
  6.     import flash.geom.ColorTransform;
  7.    
  8.     public class creaTablero extends MovieClip {
  9.        
  10.             private var marco:Sprite;
  11.             private var mc:MovieClip;
  12.             public var color:int;
  13.            
  14.        
  15.         public function creaTablero():void {
  16.             // constructor code
  17.                
  18.             for (var i:int = 0; i<4; i++) {
  19.                 for (var j:int = 0; j<9; j++) {
  20.                    
  21.                     mc = new MovieClip();
  22.                     marco = new Sprite();
  23.                                
  24.                     marco.graphics.lineStyle(1,0x000000);
  25.                     marco.graphics.beginFill(0xFFFFFF,1);
  26.                     marco.graphics.drawRoundRect(0, 0, 60, 60, 0);
  27.                     mc.addChild(marco);
  28.                     marco.addEventListener(MouseEvent.MOUSE_UP,Colorear)
  29.                    
  30.                     mc.x = (62*j);
  31.                     mc.y = (62*i);
  32.                     if (i<3 || j<8) {
  33.                         addChild(mc);
  34.                     }
  35.                 }
  36.             }
  37.         }
  38.        
  39.         private function Colorear(evt:MouseEvent) {
  40.            
  41.             var miColor:ColorTransform=evt.target.transform.colorTransform;
  42.             miColor.color=color;
  43.             evt.target.transform.colorTransform=miColor;
  44.         }
  45.         public function SetColor(c:int) {
  46.             color = c;
  47.         }
  48.  
  49.  
  50.     } // end class
  51.    
  52. } // end pack

Como podrás ver, contiene un setter para decir el color que lleva el pincel, que capturaba desde la main class:
Código AS3:
Ver original
  1. // AS3 code
  2. import flash.geom.ColorTransform;
  3.  
  4. var tablero:creaTablero = new creaTablero();
  5. cont.addChild(tablero);
  6.  
  7. rojo.addEventListener(MouseEvent.MOUSE_UP,SetRojo)
  8. verde.addEventListener(MouseEvent.MOUSE_UP,SetVerde)
  9. azul.addEventListener(MouseEvent.MOUSE_UP,SetAzul)
  10. //addEventListener(MouseEvent.MOUSE_OVER,Puntero)
  11. //function Puntero(evt:MouseEvent) {
  12.     puntero.startDrag();
  13.     Mouse.hide();
  14. //}
  15.  
  16.    
  17.     puntero.x = mouseX+1;
  18.     puntero.y = mouseY+1;
  19.  
  20.  
  21.  
  22. function SetRojo(evt:MouseEvent) {
  23.     tablero.SetColor(0xFF0000);
  24.     var miColor:ColorTransform=puntero.transform.colorTransform;
  25.     miColor.color=0xFF0000;
  26.     puntero.transform.colorTransform=miColor;
  27.  
  28. }
  29. function SetVerde(evt:MouseEvent) {
  30.     tablero.SetColor(0x00FF00)
  31.     var miColor:ColorTransform=puntero.transform.colorTransform;
  32.     miColor.color=0x00FF00;
  33.     puntero.transform.colorTransform=miColor;
  34. }
  35. function SetAzul(evt:MouseEvent) {
  36.     tablero.SetColor(0x0000FF)
  37.     var miColor:ColorTransform=puntero.transform.colorTransform;
  38.     miColor.color=0x0000FF;
  39.     puntero.transform.colorTransform=miColor;
  40. }

Con esto tienes todo lo que necesitas para entender como colorear en AS3.

Saludos