Comunidad de diseño web y desarrollo en internet online

AS3 cambiar de teclado a mouse

Citar            
MensajeEscrito el 20 Feb 2014 05:26 pm
:shock: porfa ayudame a cambiar el codigo de teclado a que funcione con mouse

Código ActionScript :

package com.setup
{

   import flash.display.MovieClip;
   import flash.events.Event;
   import flash.events.KeyboardEvent;
   import flash.ui.Keyboard;
   

   
   public class canasto_mc extends MovieClip
   {
      private var der:Boolean = false;
      private var izq:Boolean = false;
      private var vel:int = 10;
      private var limite_x_der:int = 600;
      private var limite_x_izq:int = 50;

      public function canasto_mc()
      {
         addEventListener(Event.ENTER_FRAME,motor);

      }
      public function controles()
      {
         stage.addEventListener(KeyboardEvent.KEY_DOWN,key_down);
         stage.addEventListener(KeyboardEvent.KEY_UP,key_up);
      }

      public function key_down(e:KeyboardEvent):void
      {
         switch (e.keyCode)
         {
            case 68:
               der = true;
               break;
            case 65:
               izq = true;
               break;
         }
      }
      public function key_up(e:KeyboardEvent):void
      {
         switch (e.keyCode)
         {
            case 68:
               der = false;
               break;
            case 65:
               izq = false;
               break;
         }
      }

      
      
      public function motor(e:Event):void
      {
         if (der)
         {
            if (x <= limite_x_der)
            {
               x +=  vel;
               rotation +=  (5 - rotation) / 3;

            }
         }
         else if (izq)
         {
            if (x >= limite_x_izq)
            {
               x -=  vel;
               rotation += (-5 - rotation)/3;

            }

         }
         else
         {
            rotation +=  (0 - rotation) / 3;

         }
         controles()
      }

   }

}

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Feb 2014 07:52 pm
En el código funciona con las flechas de diracción izquierda y derecha .... como funcionaría con el mouse?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Feb 2014 03:05 pm
gracias por la ayuda

si es de izquierda a derecha

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 03:07 pm
Si, la pregunta especificamente es: describe la mecánica de como quieres controlar el juego con el mouse

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Feb 2014 03:12 pm

solisarg escribió:

En el código funciona con las flechas de diracción izquierda y derecha .... como funcionaría con el mouse?

Jorge



Gracias por la ayuda Jorge

Si es de izquierda a derecha

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 03:15 pm
ok, andamos duros hoy. Tercer intento:

Tu código hace que con la flecha derecha del teclado se mueva a la derecha, y con la flecha izquierda del teclado se mueva a la izquierda.

Que debería hacer con el mouse para que se mueva a la derecha?
Que debería hacer con el mouse para que se mueva a la izquierda?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Feb 2014 03:59 pm
ok gracias por la aclaración :)
se trata de hacer click en un objeto y teniéndolo aplastado se pueda arrastrar de izquierda a derecha con limite de borde en cada extremo y al momento se soltarlo se queda en la posición donde se soltó

espero haberte respondido a la pregunta
gracias por la ayuda


solisarg escribió:

Si, la pregunta especificamente es: describe la mecánica de como quieres controlar el juego con el mouse

Jorge

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 04:15 pm
espero con la prudencia y el entendimiento de tu pregunta me pueda explicar claramente

Que debería hacer con el mouse para que se mueva a la derecha o izquierda?

El puntero debería situarse en un objeto (que se encuentra llamado de librería por clases) y haciendo click izquierdo del mouse sujetarlo al objeto y trasladarlo a la derecha y viceversa a la izquierda para obtener un movimiento obviamente horizontal, es la misma función que esta haciendo los botones (izquierda y derecha) que están programados actualmente pero con el remplazo o cambio que deseo hacerlo con el mouse y que se deba sujetar al objeto para su traslado

espero ser claro con la respuesta si esa es la pregunta que comprendo



solisarg escribió:

ok, andamos duros hoy. Tercer intento:

Tu código hace que con la flecha derecha del teclado se mueva a la derecha, y con la flecha izquierda del teclado se mueva a la izquierda.

Que debería hacer con el mouse para que se mueva a la derecha?
Que debería hacer con el mouse para que se mueva a la izquierda?

Jorge

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 04:36 pm
Lo que buscas entonces es un drag&drop, se lo agregas al elemento que quieres que sea clickado

Código ActionScript :

this.addEventListemer(MouseEvent.MOUSE_DOWN, startDrag);
this.addEventListemer(MouseEvent.MOUSE_UP, stoptDrag);
function startDrag(evt:MouseEvent){
   evt.target.startDrag();
}
function stopDrag(evt:MouseEvent){
   evt.target.stopDrag();
}


Para los limites, mira en la ayuda, le puedes pasar un par de parámetros, el primero si queda bloqueado en el centro o no, el segundo una instancia de un rectangle que determine los límites

startDrag(true, new Rectangle(0,0,100,100))

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Feb 2014 05:06 pm
muy amable gracias Jorge

el problema es que estoy recién incursionando en AS3 y al momento de remplazar los códigos de key control por mouse event me salta varios errores y se hace un despelote que no entiendo nada por eso es la razón de que incluí el código para quien dece ayudarme de esta manera remplazando y cambiando de una forma la cual ya me funcione y ahí lograr entender que estoy haciendo mal y que bien

gracias por la ayuda


solisarg escribió:

Lo que buscas entonces es un drag&drop, se lo agregas al elemento que quieres que sea clickado

Código ActionScript :

this.addEventListemer(MouseEvent.MOUSE_DOWN, startDrag);
this.addEventListemer(MouseEvent.MOUSE_UP, stoptDrag);
function startDrag(evt:MouseEvent){
   evt.target.startDrag();
}
function stopDrag(evt:MouseEvent){
   evt.target.stopDrag();
}


Para los limites, mira en la ayuda, le puedes pasar un par de parámetros, el primero si queda bloqueado en el centro o no, el segundo una instancia de un rectangle que determine los límites

startDrag(true, new Rectangle(0,0,100,100))

Jorge

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 06:36 pm
Ah ... quieres que yo te lo escriba. Bueno, tiene varios puntos, por ejemplo el codigo que pusiste trabaja en base a la velocidad, y lo tienes que cambiar a drag/drop con límites ... no es un cambio simple sino básicamente hay que reescribirlo entero.
Invito a quien tenga mas tiempo para dedicarle a esto que le escriba el script al compañero, yo vengo medio complicado de tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Feb 2014 07:46 pm
específicamente no dije tu nombre :lol: pero te agradezco por interesarte y si agradezco el llamado a quien me pueda ayudar me mandaron este deber de la U y no le entiendo como hacer

gracias por la ayuda

solisarg escribió:

Ah ... quieres que yo te lo escriba. Bueno, tiene varios puntos, por ejemplo el codigo que pusiste trabaja en base a la velocidad, y lo tienes que cambiar a drag/drop con límites ... no es un cambio simple sino básicamente hay que reescribirlo entero.
Invito a quien tenga mas tiempo para dedicarle a esto que le escriba el script al compañero, yo vengo medio complicado de tiempo

Jorge

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 08:30 pm
porfavor estoy intentando a lo que me da los pocos conocimientos que tengo de action3 :oops: y plantee de esta manera el código me salta un error desde la primera linea

package com.setup
{

import flash.events.Event;
import flash.events.MouseEvent;

public class canasto_mc extends MovieClip
{

public function canasto_mc()
{
stage.addEventListener(MouseEvent.MOUSE_DOWN, downPunto1);
stage.addEventListener(MouseEvent.MOUSE_UP, upCursor);
}

public function downPunto1(event:Event):void
{
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveCursor);
}
public function moveCursor(event:MouseEvent):void
{
canasto_mc.x = event.stageX;
canasto_mc.y = event.stageY;
}
public function upCursor(event:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveCursor);
}
}
}

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 10:28 pm
Que error?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Feb 2014 10:33 pm
solo se sitúa en la linea inicial no se menciona ningún error

solisarg escribió:

Que error?

Jorge

Por anferdu

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2014 10:35 pm
me salta un error desde la primera linea


No hay error? Entonces cual es el problema?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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