Воскресенье, 22 Декабря 2024, 06:34

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Игроделы, помогите со скриптом!!!
ShadowZiДата: Суббота, 09 Февраля 2013, 17:11 | Сообщение # 21
постоянный участник
Сейчас нет на сайте
для первого
static var _isClosed = true;
NOWHEREДата: Вторник, 12 Февраля 2013, 23:06 | Сообщение # 22
участник
Сейчас нет на сайте
ShadowZi, я разобрался, но возникла другая проблема

поставил варианты проигрывания анимации на функцию OnCollisionEnter, но у меня камера и пульт не коллайдятся... Как проверить? Даже Debug.Log молчит...



RacotДата: Вторник, 12 Февраля 2013, 23:19 | Сообщение # 23
постоянный участник
Сейчас нет на сайте
Цитата (NOWHERE)
но у меня камера и пульт не коллайдятся

капсуль на ферстперсонконтроллер + пульт, на обеих должен быть коллайдер, а на ком-то из них OncollisionEnter. Но советую все делать рейкастом ибо позже возникнут трудности и нужно будет переделывать скрипт.
--------------------------
Цитата (NOWHERE)
if (_isClosed == true)

почитай книжку но программированию (тема "булевы переменные") и скажи как можно эту строчку сделать красивее и понятней


Специалист "во всем" - специалист "ни в чем"
------------------------------------
Script Reference для Unity3D
Помогу со скриптами for Unity3D


Сообщение отредактировал Racot - Вторник, 12 Февраля 2013, 23:22
ЛевшаДата: Среда, 13 Февраля 2013, 01:30 | Сообщение # 24
почти ветеран
Сейчас нет на сайте
Цитата (NOWHERE)
камера и пульт не коллайдятся... Как проверить?

на оба обьекта повесь rigidBody


X.cor.R (Prologue)
IIyxMASTERДата: Среда, 13 Февраля 2013, 05:19 | Сообщение # 25
постоянный участник
Сейчас нет на сайте
пройди гребанные туториалы :-)
NOWHEREДата: Среда, 13 Февраля 2013, 10:30 | Сообщение # 26
участник
Сейчас нет на сайте
Все сделал но не срабатывает хоть в доску укатайся(надо же, выражение придумал biggrin )

Добавлено (13.02.2013, 10:30)
---------------------------------------------
Racot, я уже переделал под цифровое значение, даже чуть чуть шарить начал, спасибо Герберту Шилдту и Дэвиду Флэнагану

Вот скрипт для пульта

Код
#pragma strict

public var _isClosed : int = 1;

function OnCollisionEnter(collision : Collision) {

var hds : HeatDoorStatus = GetComponent(HeatDoorStatus);

Debug.Log ("Collided");

if (Input.GetKeyDown("E")){

  if (_isClosed == 1){
   
  Debug.Log ("Opening");
   
  hds.OpenHeatContDoor() ;
   
  _isClosed = 0;
   
   
  }  
    
  if (_isClosed == 0){
    
  hds.CloseHeatContDoor() ;
   
  _isClosed = 1;
   
  }

}

}



ShadowZiДата: Среда, 13 Февраля 2013, 11:43 | Сообщение # 27
постоянный участник
Сейчас нет на сайте
if (_isClosed == 0) вместо этого достаточно
if(_isClosed) -если нам важно чтобы выполнялось когда изклоузд - тру
if(!_isClosed) -если нам важно чтобы выполнялось когда изклоузд - фалс

OnCollisionEnter(collision : Collision) - происходит ЕМНИП только в момент солкновения то есть в момент столкновения ты зажал клавишу
ЛевшаДата: Среда, 13 Февраля 2013, 12:52 | Сообщение # 28
почти ветеран
Сейчас нет на сайте
Цитата (NOWHERE)
Вот скрипт для пульта

NOWHERE, нельзя проверять событие нажатия клавиши в функции OnCollisionEnter
Тебе нужна конструкция типа этой:
Код

var inCollision : boolean = false;

function OnCollisionEnter(collision : Collision) {
         inCollision = true;
}
function OnCollisionExit(collision : Collision) {
         inCollision = false;
}
function Update () {
     if (inCollision && Input.GetKeyDown("E")) {
         // твои действия;
     }
}


X.cor.R (Prologue)

Сообщение отредактировал Левша - Среда, 13 Февраля 2013, 13:00
NOWHEREДата: Среда, 13 Февраля 2013, 14:05 | Сообщение # 29
участник
Сейчас нет на сайте
Левша, Racot, ShadowZi, спасибо за советы, может, набыдлокодю... нет, набыдлокочу... тоже не то. Короче, напишу код нормальный)))


  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг