Esto ya va mejor, ahora puedes girar y lo controlas decentemente (probadlo y decidme que tal =D) pero falta el eje Y (mirar arriba y abajo) que me da un poco de fallo y esta comentado, si quereis probar a ver si os va, descomentadlo (obvio no? xD) para que funcione teneis que apretar el boton 1 del wiimote apuntando al centro de la pantalla, o no hara nada!
Se aceptan modificaciones
PD: el codigo ha sido remodificado varias veces asi que quizas haya algo que sobra y se me ha pasado por alto
//WiiFPS by Pho
wiimote.Led1 = true
debug = " Lastx " + var.lastx + " Lasty " + var.lasty + " VarOn: " + var.on + " Movmouse: " + var.movmouse + " MovmouseY: " + var.movmouseY + " pointerX " + wiimote.PointerX*1280 + " Cursor PosX " + mouse.CursorPosX +"vartime" + var.time + " pointerY " + wiimote.PointerY*1024
//Mouse clic izq = boton B del mando
mouse.LeftButton =wiimote.B
//Guarda unas cuantas variables
if wiimote.One then
var.lastx = wiimote.PointerX*1280
var.lasty = wiimote.PointerY*1024
var.on = 1
var.time = 10
var.resY = wiimote.PointerY*1024
endif
//Al apretar (1) guarda a donde estoy apuntando, coje a donde apunto despues y lo resta
//Esta resta son los pixels k mueve el cursor =D
//Sin los wait no va =/ pero a 10 ms va fluidillo =D
if var.lastx != wiimote.PointerX*1280 and var.on != 0 then
var.movmouse = 2*((wiimote.PointerX*1280)-var.lastx)
wait 20ms
var.lastx = wiimote.PointerX*1280
mouse.CursorPosX = mouse.CursorPosX + var.movmouse
wait var.time ms
mouse.CursorPosX = 1280/2
endif
//Al apuntar a los bordes de la pantalla continua girando
if wiimote.PointerX*1280 < 0 and var.On = true then
mouse.CursorPosX = mouse.CursorPosX - 50
wait var.time ms
endif
if wiimote.PointerX*1280 >1280 and var.On = true then
mouse.CursorPosX = mouse.CursorPosX + 50
wait var.time ms
endif
if var.lasty != wiimote.PointerY*1024 and var.on != 0 then
var.movmouseY = 2*((wiimote.PointerY*1024)-var.lastY)
wait var.time ms
var.lastY = wiimote.PointerY*1024
mouse.CursorPosY = mouse.CursorPosY + var.movmouseY
wait var.time ms
mouse.CursorPosY = 1024/2
endif
if wiimote.PointerY*1024 < 0 and var.On = true then
mouse.CursorPosY = mouse.CursorPosY - 50
wait var.time ms
endif
if wiimote.PointerY*1024 >1024 and var.On = true then
mouse.CursorPosY = mouse.CursorPosY + 50
wait var.time ms
endif
//Aumenta o reduce el tiempo de espera, 10 ms por defecto
if pressed(wiimote.Up) then
var.Time = var.time+1
endif
if pressed(wiimote.down) then
var.Time = var.time-1
endif
key.W = Wiimote.Nunchuk.JoyY < -0.4 // Adelante
key.S = Wiimote.Nunchuk.JoyY > 0.4 // Atras
key.A = Wiimote.Nunchuk.JoyX < -0.4 // Paso Lateral izquierdo
key.D = Wiimote.Nunchuk.JoyX > 0.4 // Paso Lateral derecho
mouse.LeftButton = Wiimote.B
mouse.RightButton = wiimote.Nunchuk.ZButton
Salu2 =3
EDIT: me olvidaba, esta puesto para una resolucion de 1280x1024, si quereis cambiarla, modificad todos los 1280 y 1024 que veais por vuestra resolucion de pantalla. MAs tarde ya lo hare con variables para mas ocmodidad =D
EDIT2: Retocao, en principio a mi me fallaba que si ponia el cursor en la mitad de mi resolucion se quedaba subiendo.... nose pk, pero ahora ya me va bien, si no os va el eje Y retocad el valor de centrar el mouse en Y (525 en este script) quizas le falta un poco de fluidez al jugar, pero es jugable en el Portal al menos =D ahora ya es añadir teclas etc.. =D si encontrais algun fallo o se os ocurre como mejorarlo avisadme =D
EDIT3: vale, ya e encontrado el problema del edit2 todo era por jugar windowed, en full screen si que es la mitad de la resiolucion T_T tanto para eso xDDDD Probadop en Half Life2 y bueno, cuesta un poquillo , pero es jugable xDD (TOdo por culpa de los wait, sin los que por otra parte no va el script, a ver si se os ocurre algo para eso =(