Готовый перевод C# Game Programming Cookbook for Unity 3D / Программирование игр на Unity 3D C#. Книга готовых решений.: 4.7.1 Ввод от мыши
Ниже скрипт:
public class Mouse_Input : BaseInputController
{
private Vector2 prevMousePos;
private Vector2 mouseDelta;
private float speedX = 0.05f;
private float speedY = 0.1f;
public void Start ()
{
prevMousePos= Input.mousePosition;
}
public override void CheckInput ()
{
// get input data from vertical and horizontal axis and
// store them internally in vert and horz so we don't
// have to access them every time we need to relay input
// data out
// calculate a percentage amount to use per pixel float scalerX = 100f / Screen.width; float scalerY = 100f / Screen.height;
// calculate and use deltas float mouseDeltaY = Input.mousePosition.y - prevMousePos.y; float mouseDeltaX = Input.mousePosition.x - prevMousePos.x;
// scale based on screen size vert += ( mouseDeltaY * speedY ) * scalerY; horz += ( mouseDeltaX * speedX ) * scalerX;
// store this mouse position for the next time we’re here
prevMousePos= Input.mousePosition;
// set up some Boolean values for up, down, left and right Up = ( vert>0 ); Down = ( vert<0 ); Left = ( horz<0 ); Right = ( horz>0 );
// get fire / action buttons Fire1= Input.GetButton( "Fire1" );
}
public void LateUpdate()
{ // check inputs each LateUpdate() ready for the next tick
CheckInput();
}
}
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод
Переведено на Нотабеноиде
http://notabenoid.org/book/55263/242475
Переводчики: ilia1395
Настройки
Готово:
