Скрипт врага. - Форум Игроделов
Пн, 21 Июл 2025, 20:51 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт врага.
99master99Дата: Чт, 31 Янв 2013, 17:59 | Сообщение # 1
Нет аватара
 
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Мне нужен скрипт для врага:
1)если дестанция меньше 5 он атакует и проигрываеться анимация удара.
2)если игрок в тригере врага и кликает лкм то враг через пару ударов умирает.
3)враг движеться за игроком если он на растоянии меньше 30.
вот такой скриптик мне нужен.Если кто-то может написать, то киньте в теме плиз.
БУДУ ПРЕМНОГО БЛАГОДАРЕН!
 
СообщениеМне нужен скрипт для врага:
1)если дестанция меньше 5 он атакует и проигрываеться анимация удара.
2)если игрок в тригере врага и кликает лкм то враг через пару ударов умирает.
3)враг движеться за игроком если он на растоянии меньше 30.
вот такой скриптик мне нужен.Если кто-то может написать, то киньте в теме плиз.
БУДУ ПРЕМНОГО БЛАГОДАРЕН!

Автор - 99master99
Дата добавления - 31 Янв 2013 в 17:59
commandobyДата: Чт, 31 Янв 2013, 18:16 | Сообщение # 2
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
1) За просто так тебе никто его не напишет.
2) Мало информации (язык, стиль игры (2Д или 3Д), уровень знания языка и движка).


Блог.

Сообщение отредактировал commandoby - Чт, 31 Янв 2013, 18:19
 
Сообщение1) За просто так тебе никто его не напишет.
2) Мало информации (язык, стиль игры (2Д или 3Д), уровень знания языка и движка).

Автор - commandoby
Дата добавления - 31 Янв 2013 в 18:16
thiefbrotherДата: Чт, 31 Янв 2013, 19:01 | Сообщение # 3
 
Сообщений: 74
Награды: 0
Репутация: 10
Статус: Offline
Код
using UnityEngine;
using System.Collections;

public class EnemyAI : MonoBehaviour {
  public Transform target;
  public int moveSpeed;
  public int rotationSpeed;
  public int maxdistance;
   
  private Transform myTransform;
   
  void Awake(){
   myTransform = transform;
  }

  void Start () {
   GameObject go = GameObject.FindGameObjectWithTag("Player");
    
   target = go.transform;
   
   maxdistance = 2; // устанавливай дистанцию
  }
   

  void Update () {
   Debug.DrawLine(target.position, myTransform.position, Color.red);  
    

   myTransform****tation = Quaternion.Slerp(myTransform****tation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);
    
   if(Vector3.Distance(target.position, myTransform.position) > maxdistance){
   //Move towards target
   myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
   
   }
  }
    
}


Код
using UnityEngine;
using System.Collections;

public class EnemyAttack : MonoBehaviour {
  public GameObject target;
  public float attackTime;
  public float coolDown;
   

  void Start () {
   attackTime = 0;
   coolDown = 2.0f;
   
  }
   

  void Update () {
   if(attackTime > 0)
    attackTime -= Time.deltaTime;
    
   if(attackTime < 0)
    attackTime = 0;
    
    
  if(attackTime == 0) {
   Attack();
   attackTime = coolDown;
   }
   
  }
   
y  private void Attack() {
   float distance = Vector3.Distance(target.transform.position, transform.position);
    
    
   Vector3 dir = (target.transform.position - transform.position).normalized;
   float direction = Vector3.Dot(dir, transform.forward);
    
      
   if(distance < 2.5f) {
    if(direction > 0) {  
   PlayerHealth eh = (PlayerHealth)target.GetComponent("PlayerHealth");
   eh.AddjustCurrentHealth(-10);
    }
   }
     }
}

вот я тебе дал этот геморой. Пытайся, объяснять не буду smile
 
Сообщение
Код
using UnityEngine;
using System.Collections;

public class EnemyAI : MonoBehaviour {
  public Transform target;
  public int moveSpeed;
  public int rotationSpeed;
  public int maxdistance;
   
  private Transform myTransform;
   
  void Awake(){
   myTransform = transform;
  }

  void Start () {
   GameObject go = GameObject.FindGameObjectWithTag("Player");
    
   target = go.transform;
   
   maxdistance = 2; // устанавливай дистанцию
  }
   

  void Update () {
   Debug.DrawLine(target.position, myTransform.position, Color.red);  
    

   myTransform****tation = Quaternion.Slerp(myTransform****tation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);
    
   if(Vector3.Distance(target.position, myTransform.position) > maxdistance){
   //Move towards target
   myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
   
   }
  }
    
}


Код
using UnityEngine;
using System.Collections;

public class EnemyAttack : MonoBehaviour {
  public GameObject target;
  public float attackTime;
  public float coolDown;
   

  void Start () {
   attackTime = 0;
   coolDown = 2.0f;
   
  }
   

  void Update () {
   if(attackTime > 0)
    attackTime -= Time.deltaTime;
    
   if(attackTime < 0)
    attackTime = 0;
    
    
  if(attackTime == 0) {
   Attack();
   attackTime = coolDown;
   }
   
  }
   
y  private void Attack() {
   float distance = Vector3.Distance(target.transform.position, transform.position);
    
    
   Vector3 dir = (target.transform.position - transform.position).normalized;
   float direction = Vector3.Dot(dir, transform.forward);
    
      
   if(distance < 2.5f) {
    if(direction > 0) {  
   PlayerHealth eh = (PlayerHealth)target.GetComponent("PlayerHealth");
   eh.AddjustCurrentHealth(-10);
    }
   }
     }
}

вот я тебе дал этот геморой. Пытайся, объяснять не буду smile

Автор - thiefbrother
Дата добавления - 31 Янв 2013 в 19:01
игнатДата: Пт, 01 Фев 2013, 15:35 | Сообщение # 4
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Могу посоветовать вам эти уроки: ссылка


Правила форума · участник GCC
 
СообщениеМогу посоветовать вам эти уроки: ссылка

Автор - игнат
Дата добавления - 01 Фев 2013 в 15:35
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025