Как двигаться влево вправо при касании и вверх вниз через акселерометр в Unity?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как двигаться влево вправо при касании и вверх вниз через акселерометр в Unity?

Сообщение Anonymous »

Код: Выделить всё

using UnityEngine;
using System.Collections;

public class PlayerScript : MonoBehaviour {

public static float distanceTraveled;
private Touch curTouch;
public float speed;
public float maxSpeed;
public float maxSpeedConstant;

//Virtual buttons left and right half of the screen
private Rect leftHalf = new Rect(0F,F,Screen.width/2,Screen.height);
private Rect rightHalf = new Rect(Scren.width/2,0F,Screen.width/2,Screen.height);

public void Update() {
distanceTraveled = transform.localPosition.x;
}

public void FixedUpdate() {
Movement();
}

public void Movement() {
//Accelerometer Control up/down
Vector3 dirAcc = Vector3.zero;

dirAcc.y = Input.acceleration.y*.5F;

transform.Translate(0F,0F,dirAcc.y);

if (Input.touchCount != 0){
Vector2 curTouch = Input.GetTouch(0).position;

if (leftHalf.Contains (curTouch)) {
transform.Translate(-Vector3.right * speed * Time.deltaTime);
} else {
if (rightHalf.Contains(curTouch)) {
transform.Translate(Vector3.right*speed*Time.deltaTime);
}
}
} else {
if (Input.touchCount == 0) {
transform.Translate(Vector3.right*speed*Time.deltaTime);
}
}
}
}
Я пытаюсь добиться того, чтобы игра могла управлять движением персонажа вверх/вниз с помощью акселерометра и движением вправо/влево, касаясь правого/левого угла. сторону экрана.
В приведенном выше коде область касания не имеет значения, персонаж всегда будет двигаться назад, а ввод данных акселерометра полностью игнорируется. Что меня беспокоит, так это то, что приведенный выше код (только часть акселерометра) работал с Transform.Translate вместоrigidbody.AddForce. Но судя по тому, что я прочитал в Интернете, мне понадобятся твердые тела, если я хочу столкновений.
Поэтому любая помощь или совет относительно структуры/синтаксиса кода или решения моей проблемы приветствуется. .

Подробнее здесь: https://stackoverflow.com/questions/363 ... r-in-unity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как двигаться влево вправо при касании и вверх вниз через акселерометр в Unity?
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Код Visual Studio: включить сочетание клавиш Ctrl+Alt+{Вверх, Вниз, Влево, Вправо}
    Anonymous » » в форуме Linux
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous
  • Проведение вверх, вниз, влево и вправо в Java Android Studio
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Проведение вверх, вниз, влево и вправо в Java Android Studio
    Anonymous » » в форуме Android
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Проведение вверх, вниз, влево и вправо в Java Android Studio
    Anonymous » » в форуме JAVA
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»