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

Botones para crear dibujos

Estas en el tema de Botones para crear dibujos en el foro de Flash y Actionscript en Foros del Web. Hola, soy nuevo por aquí, estoy aprendiendo mediante unos libros y me gustaría hacer lo que me pide en las sugerencias. Necesitaría el código ActionScript ...
  #1 (permalink)  
Antiguo 01/07/2014, 12:15
 
Fecha de Ingreso: julio-2014
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Botones para crear dibujos

Hola, soy nuevo por aquí, estoy aprendiendo mediante unos libros y me gustaría hacer lo que me pide en las sugerencias.

Necesitaría el código ActionScript 3.0 para flash cs5 para que un botón (boton_cuadrados) dibuje en forma de cuadrados y otro botón (boton_circulos) dibuje en forma de círculos.

Actualmente el código con el que acaba el tema en el libro, es para que pulsando E en el teclado dibuje círculos y pulsando R dibuje cuadrados, ahora no consigo cambiarlo para que sea pulsando botones.

Dejo el código actual para que se hagan una idea, espero que alguien me diga como es, un saludo y gracias de antemano.

var shapeType:String = "ellipse";
var color:Number;

stage.addEventListener(MouseEvent.MOUSE_DOWN, startDrawing);
stage.addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler );

function keyDownHandler(e:KeyboardEvent):void {
if (e.keyCode == "E".charCodeAt()) {
shapeType = "ellipse";
} else if (e.keyCode == "R".charCodeAt()) {
shapeType = "rectangle";
}
}
function startDrawing(e:MouseEvent):void {
stage.addEventListener(MouseEvent.MOUSE_MOVE, makeShapes);
color = Math.random() * 0xFFFFFF;
}

function stopDrawing(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE, makeShapes)
}

function makeShapes(e:MouseEvent):void {

if(shapeType == "ellipse") {
var ellipse:Ellipse = new Ellipse(10, 10, color);
addChild(ellipse);
ellipse.x = mouseX;
ellipse.y = mouseY;
}else if (shapeType == "rectangle") {
var rectangle:Rect = new Rect(5, 15, color);
addChild(rectangle);
rectangle.x = mouseX;
rectangle.y = mouseY;
}
}
  #2 (permalink)  
Antiguo 04/07/2014, 02:54
 
Fecha de Ingreso: julio-2014
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Botones para crear dibujos

¿Nadie?
  #3 (permalink)  
Antiguo 05/07/2014, 01:46
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botones para crear dibujos

En Flash 5 de macromedia dibujas algo, lo conviertes en botón, y luego le puedes poner acciones cuando lo cliqueas o lo señalas, etc. Acciones que deberías ser capáz de identificar y separar del código que estás usando, si entendieras cómo funciona. Bueno yo tampoco lo entiendo, pero yo no soy el que está trabajando con eso y leyendo un libro al respecto. Y bueno capáz que me equivoco pero poner acciones a un botón, al menos en macromedia, es muy sencillo, por lo tanto si puedes hacerlo presionando teclas deberías poder hacerlo presionando un botón.
Además, lo que quieres hacer se puede hacer con attach movie. Depende de qué quieres hacer, pero además si lo haces así luego puedes editar cada objeto que hayas puesto en la pantalla.

Creo que es:
onkeypressed(get acsi(14)) {
N = N+1;
attachmovieclip ("cuadro", "dibujo"+N, N);
}

Para eso tienes que tener un movieclip que sea un cuadro, luego puedes poner un botón para especificar tamaño, coloc, posición, etc. Otro botón además para insertar circulos en vez de cuadros. N tienes que definirlo antes, normalmente es en la película raíz. Su función es variar el nombre de los objetos que creas y su profundidad, que determina cual se verá encima de cual, en caso de estar sobreponerse.

Bueno... para que lo haga un botón es simplemente, como ya dije, crear el botón, y pegar ese código -que no es exacto, no lo recuerdo exacto-, y modificar el onkeypress por on mouse event o lo que sea que el mismísimo flash te escribe cuando pegas algo... al menos los flash de antes...
¿Qué es lo que sucede? ¿en verdad es mejor algo que es tan complicado?
Acá lo tenés super sencillo.
http://www.actionscript.org/resource...vie/Page1.html

Ves?
Insertar una cosa requiere simplemente algo así:
on (release) {
main.attachmovie("att3", "newname3", 1);
}
y haber creado ya las necesarias, eso sí.

Realmente me llama la atención que para algo tan sencillo estés usando códigos que me parecen tan complicados.
  #4 (permalink)  
Antiguo 05/07/2014, 01:56
 
Fecha de Ingreso: julio-2014
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Botones para crear dibujos

Lo probaré, pero no me quedo del todo claro (soy novato).

No es que quiera usar códigos, el libro me muestra que ponga ese código que puse para usar teclas para cambiar de círculos a cuadrados, y en las sugerencias finales del capítulo que use botones para cambiar dibujar cuadrados o círculos, como ya te dicho soy novato y no se que es lo que debo hacer y por eso acudí aquí...de todas formas, gracias.
  #5 (permalink)  
Antiguo 06/07/2014, 12:52
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Botones para crear dibujos

djplana:
Aquí tienes un ejemplo para dibujar un rectángulo al presionar un botón:
Código actionscript:
Ver original
  1. import flash.display.Shape;
  2. import flash.events.MouseEvent;
  3.  
  4. btn.addEventListener(MouseEvent.CLICK, rectangulo);
  5. function rectangulo(e:MouseEvent):void
  6. {
  7.     var dibujo:Shape = new Shape();
  8.     dibujo.graphics.lineStyle(0, 0x000000, 1);
  9.     dibujo.graphics.drawRect(10, 10, 140, 80);
  10.     addChild(dibujo);
  11. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #6 (permalink)  
Antiguo 07/07/2014, 03:29
 
Fecha de Ingreso: julio-2014
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Botones para crear dibujos

No, no es eso exactamente, ese botón crea un rectángulo.

Empecemos de nuevo.

Lo que tengo es un código que: con el ratón pulsado y arrastrándolo va dibujando en forma de círculos, y que pulsando "R" los dibuja en forma de rectángulos y pulsando "E" los vuelve a dibujar en forma de círculos.

Bien, lo que me pide es, que en vez de usar el teclado, que use dos botones, uno para que dibuje en forma de círculos (lo que antes era la tecla "E") y otro para que dibuje en forma de cuadrados (lo que antes era la tecla "R").

Espero me haya explicado bien, por eso puse el código completo para que pudierais ver mi ejercicio.

Perdonar las molestias, un saludo.
  #7 (permalink)  
Antiguo 07/07/2014, 19:37
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botones para crear dibujos

Lo que estás haciendo es más difícil de lo que pensé, pero lo que tenés que hacer parece fácil. Tenés que cambiar esto:
if (e.keyCode == "E".charCodeAt()) {
shapeType = "ellipse";
} else if (e.keyCode == "R".charCodeAt()) {
shapeType = "rectangle";
}

Significa:
si la tecla presionada es E
la forma es elpse
sino si la tecla presionada es R
la forma es rectángulo

Tenés que cambiarlo por algo relacionado con clics de mouse -con el botón derecho dibujar una cosa y con el botón izquierda dibujar otra- OOOOO que eso sea determinado por un botón.
Algo así:
shapeTypeN = shapeTypeN*-1;
Si shapeTypeN == 1
shapeType = "elipse"
sino
shapeType = "rectángulo"

Eso tendría el botón. Tenés que crear antes la variable shapeTypeN o como quieras llamarle. Y tenés que arreglar los nombres, no sé si es rectangle o qué.

Lo de usar el botón izquierdo del mouse no sé cómo sería.

Suerte y perdón si fui un poco duro xD Pero bueno ese tutorial que estás haciendo parece demasiado avanzado para un aprendiz.
  #8 (permalink)  
Antiguo 07/07/2014, 19:39
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botones para crear dibujos

La solución que di usa un botón solo. Si querés usar dos tenés que hacer:

Botón 1:
shapeType = "ellipse";

Botón 2:
shapeType = "rectangle";
  #9 (permalink)  
Antiguo 08/07/2014, 03:15
 
Fecha de Ingreso: julio-2014
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Botones para crear dibujos

Creo que lo voy a dejar de lado y lo haré mas adelante, porque no me queda claro y no lo he conseguido solucionar jaja, gracias de todas formas y perdón por las molestias

Última edición por djplana; 08/07/2014 a las 04:12

Etiquetas: actionscript, botones
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 19:43.