Что то не то со скриптом...

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Что то не то со скриптом...

Сообщение elfinik 27 фев 2013, 12:32

У меня почему то не работает скрипт:
using UnityEngine;
using System.Collections;

public class Shoot : MonoBehaviour {
public float Range = 1000 ;
public float coolDown;
public float attackTimer;

void Update () {
if(attackTimer > 0)
attackTimer -= Time.deltaTime;
if(attackTimer < 0)
attackTimer = 0;
if(attackTimer == 0 ){
if(Input.GetKeyUpKeyCode.Z)){
Atack();
attackTimer = coolDown;
}
}
}
void Atack(){
Vector3 DirectionRay = transform.TransformDirection(Vector3.forward);
RaycastHit Hit;
if(Physics.Raycast(transform.position, DirectionRay,out Hit ,Range)){
if(Hit.collider.tag == "Enemy" ){
Destroy(Hit.collider.gameObject);
}
}
}
}

Я вручную указал coolDown, timeAttack отсчитывается от cd до 0, но почему то пуля не стреляет хотя и ошибок нет, почему так?
elfinik
UNIверсал
 
Сообщения: 390
Зарегистрирован: 24 фев 2013, 20:03

Re: Что то не то со скриптом...

Сообщение BornFoRdeatH 27 фев 2013, 12:47

if(Input.GetKeyUpKeyCode.Z)){

что это такое?
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Что то не то со скриптом...

Сообщение elfinik 27 фев 2013, 12:53

Ой, там if(Input.GetKeyUp(KeyCode.Z)){ прост я не правильно Down на Up поменял)) А в коже все верно, но все равно не работает(
elfinik
UNIверсал
 
Сообщения: 390
Зарегистрирован: 24 фев 2013, 20:03

Re: Что то не то со скриптом...

Сообщение Volandpro 27 фев 2013, 13:13

После строчки if(Physics.Raycast(transform.position, DirectionRay,out Hit ,Range)){ напишите Debug.Log("ASDASDASD"); если выводится, поставьте эту строчку в следующее условие.
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Что то не то со скриптом...

Сообщение elfinik 27 фев 2013, 21:59

Не в одном из условий не выводится в консоль...
elfinik
UNIверсал
 
Сообщения: 390
Зарегистрирован: 24 фев 2013, 20:03

Re: Что то не то со скриптом...

Сообщение elfinik 27 фев 2013, 22:02

А вот если я его ставлю в строчку где условие по нажатию на Z, то всё выводится... Метод наверно почему то не работает...
elfinik
UNIверсал
 
Сообщения: 390
Зарегистрирован: 24 фев 2013, 20:03

Re: Что то не то со скриптом...

Сообщение seaman 27 фев 2013, 22:11

transform.TransformDirection(Vector3.forward)
Это я не понимаю.
Vector3.forward - это направление оси Z в глобальных координатах.
TransformDirection - преобразует направление из локальных координат в глобальные. Что будет если направление оси Z в глобальных координатах истолковать как направление в локальных координатах и преобразовать в глобальные - я не могу сообразить. Вы можете?
Может Вам проще взять направление "вперед" в глобальных координатах - transform.forward. И не надо ничего преобразовывать.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Что то не то со скриптом...

Сообщение elfinik 28 фев 2013, 19:59

using UnityEngine;
using System.Collections;

public class Shoot : MonoBehaviour {
public float Range = 1000 ;
public float coolDown;
public float attackTimer;

void Update () {
if(attackTimer > 0)
attackTimer -= Time.deltaTime;
if(attackTimer < 0)
attackTimer = 0;
if(attackTimer == 0 ){
if(Input.GetKeyDown(KeyCode.Z)){
Atack();
attackTimer = coolDown;
}
}
}
void Atack(){
Vector3 DirectionRay = transform.forward;
RaycastHit Hit;
if(Physics.Raycast(transform.position, DirectionRay,out Hit ,Range)){
if(Hit.collider.tag == "Enemy" ){
Destroy(Hit.collider.gameObject);
}
}
}
}


Так?
Так тоже не работает...
elfinik
UNIверсал
 
Сообщения: 390
Зарегистрирован: 24 фев 2013, 20:03

Re: Что то не то со скриптом...

Сообщение seaman 28 фев 2013, 20:23

Тег верно написан? Большие/малые буквы важны. Масштаб нормальный? Может Range = 1000 - мало? Коллайдер на враге есть?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Что то не то со скриптом...

Сообщение elfinik 28 фев 2013, 20:41

Поставил Range на 100000, заработало, спасибо, но не думал что из-за этого...
elfinik
UNIверсал
 
Сообщения: 390
Зарегистрирован: 24 фев 2013, 20:03

Re: Что то не то со скриптом...

Сообщение seaman 28 фев 2013, 21:41

Значит масштаб не нормальный. Физика может не нормально работать.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 18