Resultados 1 al 2 de 2

Tema: Movimiento del ratón Blender ge

  1. #1
    Fecha de ingreso
    Nov 2011
    Mensajes
    82

    Blender Movimiento del raton Blender ge

    Muy buenas, llevo buscando algún tiempo el código o bueno los comando/métodos en Python que te permitan saber si el ratón se está moviendo en x o en y. He buscado por la Api, pero no me queda nada claro, también me he bajado algunos scripts, pero o están desactualizados con la 1.6 o son demasiado complejos para que pueda desgranarlos. Si alguien me pudiese ayudar en esto, no busco un script, simplemente la forma de hacerlo en el Game Engine con Python. Un saludo.

  2. #2
    Fecha de ingreso
    Nov 2011
    Mensajes
    82

    Thumbs up Movimiento del raton Blender ge

    Buenas, me acabo de acordar al responder un mensaje de este hilo que abrí y se quedó sin respuesta, y como no me gusta eso y ya lo solucioné pues os cuento:
    La solución era sencilla y el script está en la Api de Blender, en la parte de rasterizer, justo lo que andaba buscando: http://www.blender.org/documentation...e, render.html.

    Justo el código que sale en el enlace, se entiende en inglés, pero lo traduzco igual:
    Código:
    #script de mouse lok (algo, así como mirar con el ratón).
    
    Import BGE.
    # estos dos números que aparecen a continuación son la sensibilidad del ratón, el primero (1.0) en el eje X y el segundo (0.5) en el eje Y.
    
    Scale = 1.0, 0.5.
    
    Co = BGE, logic, getcurrentcontroller().
    
    Obj = co, Owner.
    # bien aquí están definidos los sensores y los actuadores, la parte entre corchetes ([. ]) hace referencia al nombre #del sensor real en Blender es decir el nombre del logic al que corresponda.
    
    Mouse = co, sensors[mouse"].
    
    Lmotion = co, Actuators[lmove"].
    Wmotion = co, Actuators[wmove"].
    # este método define la distancia que se desplaza el cursor cuando lo movemos por la pantalla del centro de la misma.
    
    Def mousepos():
    X = (bge, render, getwindowwidth() / 2 - Mouse, position[0]) * scale[0].
    
    Y = (bge, render, getwindowheight() / 2 - Mouse, position[1]) * scale[1].
    
    Return (x, y) #un return es la salida del método, por decirlo así, lo que dará de resultado.
    # aquí nos fijamos que se crea una nueva variable de nombre Pos a la que se le asigna el valor de la salida del método anterior.
    
    Pues = mousepos().
    # aquí le asigna el primer valor que se le ha dado a Pos al asignarle el resultad del método anterior, pues [0] al primer #actuador de movimiento, al que se le ha dado el nombre interno de wmotion. Aparte se le asigna un modo, Tork, que #determina la forma de movimiento, es decir rotara con inercia.
    Wmotion, uselocaltorque = false # esta expresión dice que el actuador no usara (false) las coordenadas locales.
    Wmotion, Tork = ((0.0, 0.0, pos[0])).
    # aquí le asigna el segundo valor que se le ha dado a Pos al asignarle el resultad del método anterior, pues [1] al #segundo actuador de movimiento, al que se le ha dado el nombre interno de lmotion. Aparte se le asigna un modo, #Tork, que determina la forma de movimiento, es decir rotara con inercia.
    
    Lmotion, uselocaltorque = true # esta expresión dice que el actuador usara (true) las coordenadas locales.
    
    Lmotion, Tork = ((-pos[1], 0.0, 0.0)).
    # estas expresiones dan la orden de activar los dos actuadores, una vez modificados a nuestra conveniencia.
    
    Co, activate (lmotion).
    
    Co, activate (wmotion).
    # por último, se vuelve a centrar el cursor del ratón en el centro de la pantalla.
    
    Bge, render, setmouseposition(int(bge, render, getwindowwidth() / 2), int(bge, render, getwindowheight() / 2))
    Bien, traducido y explicado. Ahora solo queda hacer las conexiones, os pongo dos imágenes de cómo tienen que ser:
    Los logics:
    Clic en la imagen para ver su versión completa. 

Nombre: logics.png 
Visitas: 413 
Tamaño: 57.3 KB 
ID: 172511

    Las propiedades, tiene que ser un objeto dinámico, static no sirve con el script anterior:
    Clic en la imagen para ver su versión completa. 

Nombre: propiedades.png 
Visitas: 495 
Tamaño: 42.9 KB 
ID: 172512

    Adjunto el (*.blend).

    Espero que le sirva a alguien, saludos.
    Archivos adjuntados Archivos adjuntados
    Última edición por Beral; 02-12-2012 a las 18:48

Temas similares

  1. AutoCAD Problema de movimiento inverso del ratón con múltiples monitores y SLI
    Por Alex-AS en el foro Programas de Diseño 3D y CAD
    Respuestas: 1
    : 06-04-2023, 15:46
  2. Blender, Rueda del ratón no funciona en casillas de cifras
    Por Morgalucodom en el foro Quieres presentarte
    Respuestas: 4
    : 10-06-2020, 07:06
  3. Problema con ratón Blender
    Por oiranac en el foro Hardware
    Respuestas: 0
    : 17-01-2010, 19:59
  4. Respuestas: 7
    : 07-10-2008, 18:56
  5. Blender Pelo en movimiento con Blender
    Por Bluder en el foro Partículas y Dinámicas
    Respuestas: 6
    : 02-09-2008, 00:10