Foros del Web » Creando para Internet » Flash y Actionscript »

[SOLUCIONADO] Juego pintar con flash

Estas en el tema de Juego pintar con flash en el foro de Flash y Actionscript en Foros del Web. verán, estoy buscando como realizar un juego parecido a este [URL="http://www.kiddia.org/juego-flash-0-5-anos-colorear"]http://www.kiddia.org/juego-flash-0-5-anos-colorear[/URL] no necesito que funcionen las opciones de cambiar dibujo, imprimir o borrar, pero quisiera ...
  #1 (permalink)  
Antiguo 24/06/2013, 19:38
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Juego pintar con flash

verán, estoy buscando como realizar un juego parecido a este

[URL="http://www.kiddia.org/juego-flash-0-5-anos-colorear"]http://www.kiddia.org/juego-flash-0-5-anos-colorear[/URL]

no necesito que funcionen las opciones de cambiar dibujo, imprimir o borrar, pero quisiera saber como puedo hacer que al clickear el color de la paleta, la "brocha" tome la propiedad del color y la transfiera al objeto que quiero pintar.

Además (y esto es digamos que menos importante) quisiera saber si hay alguna forma de limitar las acciones, es decir, que si tengo un circulo, pueda elegir que el juego se acaba cuando el circulo se coloree de un color en concreto.l

Gracias por el tiempo.
  #2 (permalink)  
Antiguo 25/06/2013, 08:10
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses
Puntos: 12
Respuesta: Juego pintar con flash

Mírate la clase ColorTransform. Se aplica sobre objetos de tipo Shape pero cualquier mc puede ser interpretado como tal.
Código ActionScript:
Ver original
  1. mc.addEventListener(MouseEvent.CLICK, function() {
  2.     var colorTransform = new ColorTransform();
  3.     colorTransform.color = 0xFF0000;
  4.     mc.transform.colorTransform = colorTransform;
  5. });
Ojo, lo convertirá todo al color que le dés, incluidos los bordes.
Saludos!
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #3 (permalink)  
Antiguo 25/06/2013, 08:58
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Juego pintar con flash

Hola Mahalo, gracias por contestar, pero la verdad es que esa interacción que plantea el color transform no es la que estoy buscando, ya que con esta el objeto cambia de color al presionar un cierto objeto, lo que en realidad estoy buscando es que yo pueda seleccionar el color con el pincel y posteriormente colorear un objeto especifico dandole click encima (tal como el juego que deje de ejemplo).

Agradezco si alguien mas tiene una solución.
  #4 (permalink)  
Antiguo 25/06/2013, 09:05
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses
Puntos: 12
Respuesta: Juego pintar con flash

Bueno, yo te he puesto el ejemplo con un color fijo pero es fácil implementar una paleta de colores. Basta que tengas una variable global color_activo que cambie cuando hagas click en los distintos colores. En fin, no creo que esperes que te lo hagan todo, ¿no? Ve probando y deja aquí tus dudas.
Saludos!
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #5 (permalink)  
Antiguo 25/06/2013, 09:44
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Juego pintar con flash

verás Mahalo, que mi problema es justamente ese, he estado intentando lograr que al clickear un color la "brocha" asuma el color (es decir, dar un set_color a la "brocha" que en este caso es el puntero del mouse) para posteriormente trasladar dicho color a otro objeto.

Tu ejemplo me da una solución al problema sin cambiando el color de forma inmediata al clickear un objeto (en este caso un color de la paleta). pero en realidad no puedo hacer pruebas sobre algo que no tengo ni idea como hacer :lol: es por eso que he posteado en el foro.

No soy una persona muy experimentada en As3, apenas lo estoy aprendiendo, si alguien puede solucionarme mi duda, que no he encontrado en ninguna parte le agradecería mucho.

¿Como consigo que la brocha asuma un color especifico (con que variable)? ¿como transfiero dicho color a un objeto especifico (con que variable)? mucha gracias.

PD: como dijo Mahalo, no tienen que darme un ejercicio completamente hecho, con que me den el dato de las variables que debo usar, o de las etiqueta que necesito es suficiente.
  #6 (permalink)  
Antiguo 25/06/2013, 16:14
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Juego pintar con flash

Hola SirDante:
Visita mi página, allí tienes un tutor que se llama Efecto_pintar, está en AS2.

Espero que te sea de alguna utilidad.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #7 (permalink)  
Antiguo 25/06/2013, 16:33
Avatar de 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
  #8 (permalink)  
Antiguo 26/06/2013, 09:55
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Juego pintar con flash

Mucha gracias Bandit y dvpareja, ya me hago una mejor idea de como funciona, ahora voy a hacer la aplicación y si sale algun inconveniente publico de nuevo, aunque espero que no.

Muchas gracia de nuevo a los que respondieron ^^.

Etiquetas: colorear, flash, pintar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:48.