Проблема с multiplayer controller - Форум Игроделов
Пт, 17 Май 2024, 08:41 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Проблема с multiplayer controller
Проблема с multiplayer controller
Thedrhax14Дата: Сб, 09 Авг 2014, 17:54 | Сообщение # 1
 
Сообщений: 54
Награды: 0
Репутация: 1
Статус: Offline
Всем привет
Написал свой контроллер, который отлично работал в single.
Теперь его дописал для multiplayer
Код
//controller

  var speed : float = 6.0;
  var jumpSpeed : float = 8.0;
  var gravity : float = 20.0;

  private var moveDirection : Vector3 = Vector3.zero;

function Update()  
{
if (networkView.isMine)
{
InputMovement();
}
}

function InputMovement()
{
var controller : CharacterController = GetComponent(CharacterController);
   if (controller.isGrounded) {
    moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
                            Input.GetAxis("Vertical"));
    moveDirection = transform.TransformDirection(moveDirection);
    moveDirection *= speed;
     
    if (Input.GetButton ("Jump")) {
     moveDirection.y = jumpSpeed;
    }
   }
   moveDirection.y -= gravity * Time.deltaTime;
   controller.Move(moveDirection * Time.deltaTime);
  }
}

И проблема вот: почему то не идет проверка на networkView.isMine, хотя на объекте, где висит это скрипт есть сам networkView, character controller для передвижения и чтобы можно было видеть "игрока" меш куба. Помогите или посоветуйте как исправить.
P.s. networkView.isMine работал на скриптах жизней и стрельбы, а здесь нет...


Виду блог про разроботку игр и про свои проекты https://thedrhax14.wordpress.com/
 
СообщениеВсем привет
Написал свой контроллер, который отлично работал в single.
Теперь его дописал для multiplayer
Код
//controller

  var speed : float = 6.0;
  var jumpSpeed : float = 8.0;
  var gravity : float = 20.0;

  private var moveDirection : Vector3 = Vector3.zero;

function Update()  
{
if (networkView.isMine)
{
InputMovement();
}
}

function InputMovement()
{
var controller : CharacterController = GetComponent(CharacterController);
   if (controller.isGrounded) {
    moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
                            Input.GetAxis("Vertical"));
    moveDirection = transform.TransformDirection(moveDirection);
    moveDirection *= speed;
     
    if (Input.GetButton ("Jump")) {
     moveDirection.y = jumpSpeed;
    }
   }
   moveDirection.y -= gravity * Time.deltaTime;
   controller.Move(moveDirection * Time.deltaTime);
  }
}

И проблема вот: почему то не идет проверка на networkView.isMine, хотя на объекте, где висит это скрипт есть сам networkView, character controller для передвижения и чтобы можно было видеть "игрока" меш куба. Помогите или посоветуйте как исправить.
P.s. networkView.isMine работал на скриптах жизней и стрельбы, а здесь нет...

Автор - Thedrhax14
Дата добавления - 09 Авг 2014 в 17:54
Форум Игроделов » UNITY3D » СКРИПТИНГ » Проблема с multiplayer controller
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024