ActionScript - utilizacion de cursor externo en flash

 
Vista:

utilizacion de cursor externo en flash

Publicado por charlie (1 intervención) el 21/04/2007 14:35:54
Hola,

Mi duda es la siguiente, cómo puedo modificar las coordenadas xmouse e ymouse de modo que pueda tener el mismo control que tiene el raton, pero utilizando mis propias coordenadas que le asignaria a xmouse e ymouse (si supiese como poder hacerlo, porque al ser solo de lectura...)
La opcion de utilizar un movieclip y modificar su posicion es una solucion posible, pero me gustaria poder acceder a las coordenadas del raton, porque como sus acciones ya estan implementadas y optimizadas todo iria mas rapido y mejor, creo yo. Ademas no creo que se deba abusar mucho del movieclip en este sentido ¿no?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Simulación de control de ratón con coordenadas personalizadas

Publicado por Alejandro (369 intervenciones) el 23/06/2023 00:21:15
En ActionScript, las propiedades `xmouse` e `ymouse` son solo de lectura y representan las coordenadas del ratón con respecto al escenario. Sin embargo, puedes simular un control similar al ratón utilizando tus propias coordenadas y gestionando el movimiento manualmente. Aquí tienes un enfoque que puedes seguir:

1. Captura el evento `MouseEvent.MOUSE_MOVE` en el escenario para detectar el movimiento del ratón.

2. En el manejador de eventos, obtén las coordenadas `stageX` y `stageY` del evento para determinar la posición actual del ratón.

3. Utiliza estas coordenadas para calcular las nuevas coordenadas personalizadas que deseas asignar a `xmouse` e `ymouse`. Puedes aplicar cálculos o transformaciones según tus necesidades.

4. Actualiza tus propias variables de coordenadas personalizadas con los valores calculados en el paso anterior.

Aquí tienes un ejemplo de código que muestra cómo implementar esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import flash.events.MouseEvent;
 
// Variables para las coordenadas personalizadas
var customX:Number = 0;
var customY:Number = 0;
 
// Captura el evento de movimiento del ratón en el escenario
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
 
function onMouseMove(event:MouseEvent):void {
    // Obtén las coordenadas del ratón en relación con el escenario
    var mouseX:Number = event.stageX;
    var mouseY:Number = event.stageY;
 
    // Calcula las nuevas coordenadas personalizadas
    customX = mouseX; // Ejemplo: Las mismas coordenadas que el ratón
    customY = mouseY; // Ejemplo: Las mismas coordenadas que el ratón
 
    // Llamada a una función para actualizar la posición de tu objeto o realizar otras acciones con las nuevas coordenadas
    updateCustomCoordinates();
}
 
function updateCustomCoordinates():void {
    // Aquí puedes usar las variables customX y customY para actualizar la posición de tu objeto o realizar otras acciones con las nuevas coordenadas
    // Por ejemplo:
    // miObjeto.x = customX;
    // miObjeto.y = customY;
    // ...
}

En este ejemplo, el evento `MouseEvent.MOUSE_MOVE` se captura en el escenario, lo que permite obtener las coordenadas actuales del ratón (`mouseX` y `mouseY`) en relación con el escenario. A continuación, puedes realizar cualquier cálculo o transformación necesaria para obtener las nuevas coordenadas personalizadas (`customX` y `customY`). Luego, puedes usar esas coordenadas personalizadas para actualizar la posición de tu objeto o realizar otras acciones según tus necesidades en la función `updateCustomCoordinates()`.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar