lLinux Posted November 5, 2014 Share Posted November 5, 2014 Hola a todos, bueno lo que estoy intentado es hacer que la camara apunte hacia un mismo lado pero se valla moviendo con un objeto, esto es lo que tengo: la camara se posiciona donde es pero no se mueve: local cx2, cy2, cz2 = -2681.40723, 1348.00781+800, 90 -- La posicion a donde ira el objeto local cameraPosition = createObject(8558, -2681.40723, 1348.00781, 90,0,0,0,true) setElementAlpha(cameraPosition, 255) moveObject(cameraPosition, 90000, cx2, cy2, cz2, 0, 0, 0) local cx3, cy3, cz3 = getElementPosition(cameraPosition) if getDistanceBetweenPoints3D(cx3, cy3, cz3, cx2, cy2, cz2) then setCameraMatrix(cx3, cy3, cz3, cx2, cy2, cz2) end Link to comment
Alexs Posted November 5, 2014 Share Posted November 5, 2014 Tendrás que utilizar 'onClientRender' para conseguir movimiento. Te recomiendo, para mantener la eficiencia, utilizar 'interpolateBetween' y no un objeto. Link to comment
lLinux Posted November 5, 2014 Author Share Posted November 5, 2014 Tendrás que utilizar 'onClientRender' para conseguir movimiento. Te recomiendo, para mantener la eficiencia, utilizar 'interpolateBetween' y no un objeto. Como puedo usar el interpolateBetween? Link to comment
Alexs Posted November 5, 2014 Share Posted November 5, 2014 Es una de esas funciones que se aprenden a utilizar experimentando con ellas, no es tan complicada como parece. Mira este ejemplo de la wiki: local enabled = false addCommandHandler("ccam", function() enabled = not enabled if enabled then start = getTickCount() dx, dy, dz, lx, ly, lz = getCameraMatrix() addEventHandler("onClientPreRender", root, interpolateCam) else start = nil setCameraTarget(localPlayer) removeEventHandler("onClientPreRender", root, interpolateCam) end end) function interpolateCam() local now = getTickCount() local endTime = start + 2000 local elapsedTime = now - start local duration = endTime - start local progress = elapsedTime / duration local px, py, pz = getElementPosition(localPlayer) local x, y, z = interpolateBetween ( dx, dy, dz, dx+4, dy+4, dz, progress, "OutQuad") setCameraMatrix(x, y, z, px, py, pz+0.6, 0, 0) end Link to comment
Recommended Posts