Вот код:
с использованием UnityEngine;
public class playerMovement : MonoBehaviour {
public Rigidbody2D rb;
public float strength = 100f;
void Start () {
//Initialize the body of the sprite so that forces
//can be applied.
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void FixedUpdate () {
//Note2Self: var says this is a variable of unspecified type.
var touch = new Touch();
/*
if (touch.phase == TouchPhase.Began){
rb.AddForce(transform.forward * strength);
}*/
if (Input.anyKey)
rb.position.Set(0, 100);
}
}
Я пытался практиковать некоторые базовые вещи в Unity (я вообще не привык к программированию в IDE, мы только что использовали vim в моей программе), когда я натолкнулся на эту странность.
Во-первых, я не понимал, почему спрайт вообще перемещается, когда не может быть сенсорной идентификации, поскольку я на самом деле не проверял это на мобильном устройстве. Поэтому я прокомментировал это, и по какой-то причине спрайт все еще движется. Этот код не должен ничего делать, но это так.
Я проверил, использует ли спрайт обновленный скрипт - это так, - и я проверил, нацелен ли скрипт на правильное твердое тело и является ли он solidbody2D. Это.
Что происходит?