戦車を2台作成する
2台の戦車を別個に操作する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TankMovement : MonoBehaviour
{
// ★追加
// 2台の戦車にIDを割り当てる。
public int playerNumber;
public float moveSpeed;
public float turnSpeed;
private Rigidbody rb;
private float movementInputValue;
private float turnInputValue;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
Move();
Turn();
}
// 前進・後退のメソッド
void Move()
{
// ★改良
// 後ろにIDナンバーを追加する。
movementInputValue = Input.GetAxis("Vertical" + playerNumber);
Vector3 movement = transform.forward * movementInputValue * moveSpeed * Time.deltaTime;
rb.MovePosition(rb.position + movement);
}
// 旋回のメソッド
void Turn()
{
// ★改良
// 後ろにIDナンバーを追加する。
turnInputValue = Input.GetAxis("Horizontal" + playerNumber);
float turn = turnInputValue * turnSpeed * Time.deltaTime;
Quaternion turnRotation = Quaternion.Euler(0, turn, 0);
rb.MoveRotation(rb.rotation * turnRotation);
}
}
2台の戦車を別個に操作する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TankMovement : MonoBehaviour
{
// ★追加
// 2台の戦車にIDを割り当てる。
public int playerNumber;
public float moveSpeed;
public float turnSpeed;
private Rigidbody rb;
private float movementInputValue;
private float turnInputValue;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
Move();
Turn();
}
// 前進・後退のメソッド
void Move()
{
// ★改良
// 後ろにIDナンバーを追加する。
movementInputValue = Input.GetAxis("Vertical" + playerNumber);
Vector3 movement = transform.forward * movementInputValue * moveSpeed * Time.deltaTime;
rb.MovePosition(rb.position + movement);
}
// 旋回のメソッド
void Turn()
{
// ★改良
// 後ろにIDナンバーを追加する。
turnInputValue = Input.GetAxis("Horizontal" + playerNumber);
float turn = turnInputValue * turnSpeed * Time.deltaTime;
Quaternion turnRotation = Quaternion.Euler(0, turn, 0);
rb.MoveRotation(rb.rotation * turnRotation);
}
}
戦車を2台作成する