Movement System Explaination (9/???)
Oh, yeah! I condensed my mouse-look script from way back:
from math import pi
from bge import logic, render
from mathutils import Vector
c = logic.getCurrentController()
m = c.sensors['Mouse']
if m.positive:
w = int(render.getWindowWidth() * .5)
h = int(render.getWindowHeight() * .5)
x = (w - m.position[0]) * 0.001
y = (h - m.position[1]) * 0.001
cam = c.owner['pov'].worldOrientation
spr = c.owner.worldOrientation
v1 = Vector((cam[0][2], cam[1][2], cam[2][2]))
v2 = Vector((spr[0][2], spr[1][2], spr[2][2]))
a = v1.angle(v2)
if a + y < 0 or a + y > pi: y = 0
hori = c.actuators['hori']
vert = c.actuators['vert']
hori.useLocalDRot = False
vert.useLocalDRot = True
hori.dRot = [0.0, 0.0, x]
vert.dRot = [y, 0.0, 0.0]
c.activate(hori)
c.activate(vert)
render.setMousePosition(w, h)







