#unity3d #tetris
#unity3d #тетрис
Вопрос:
У меня есть следующий код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Tetris : MonoBehaviour
{
void Update()
{
transform.Translate(new Vector3(0, -3 * Time.deltaTime, 0) );
CheckUserInput();
}
void CheckUserInput(){
if (Input.GetKeyDown(KeyCode.Space))
{
transform.Rotate(0, 0, 90);
}
}
Как заставить объект нормально падать при каждом повороте?
Комментарии:
1.Пожалуйста, убедитесь, что используете правильные теги. Ваш код находится
c#
не вunityscript
том, который является или лучше был похож на язык JavaScript, используемый в предыдущих версиях Unity, и к настоящему времени давно устарел. Вам лучше использовать тегunity3d
2. Я понял, спасибо
Ответ №1:
Попробуйте использовать метод Translate(Vector3, пробел) с помощью Space.world или поместив объект view в качестве дочернего элемента компонента Tetris. Компонент Tetris должен иметь ссылку на этот компонент.
public class Tetris : MonoBehaviour
{
public GameObject view;
void Update()
{
transform.Translate(new Vector3(0, -0.3f * Time.deltaTime, 0));
CheckUserInput();
}
void CheckUserInput()
{
if (Input.GetKeyDown(KeyCode.Space))
{
view.transform.Rotate(0, 0, 90);
}
}
}