Четверг, 25 Апреля 2024, 12:30

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » Zilius [7]
Результаты поиска
ZiliusДата: Воскресенье, 25 Октября 2015, 16:32 | Сообщение # 1 | Тема: Движение персонажа в сторону мышки
был не раз
Сейчас нет на сайте
Здравствуйте, подскажите скрипт движение персонажа в сторону куда направлен курсор мыши есть ли готовый скрипт на Unity 5?
ZiliusДата: Среда, 21 Октября 2015, 18:22 | Сообщение # 2 | Тема: Перевод скрипта
был не раз
Сейчас нет на сайте
Цитата FlyOfFly ()
Держи

Спасибо smile
ZiliusДата: Вторник, 20 Октября 2015, 17:06 | Сообщение # 3 | Тема: Перевод скрипта
был не раз
Сейчас нет на сайте
Всем привет,помогите перевести скрипт с 4 юньки на 5тую версию
Ошибка :

Assets/Project_OneGame/Player/AnimatePlayer.cs(9,9): error CS0619: `UnityEngine.Component.animation' is obsolete: `Property animation has been deprecated. Use GetComponent<Animation>() instead. (UnityUpgradable)'

Сам скрипт :
Код
using UnityEngine;
using System.Collections;

public class AnimatePlayer : MonoBehaviour
{
    public void Start()
    {
        // Устанавливаем все клипы анимации в режим цикла
        animation.wrapMode = WrapMode.Loop;
        // Кроме следующих   
        animation["Attack01"].wrapMode = WrapMode.Once;
        animation["jump"].wrapMode = WrapMode.Once;
        animation["Skill"].wrapMode = WrapMode.Once;
        //У них одиночное выполнение

        //Останавливаем выполнение анимаций.
        animation.Stop();
    }

    public void Update()
    {
        // На основе нажатой клавиши выполняем анимацию
        if (movePlayer.IsDrawWeapon == false) //Если оружие не вытащено
        {
            if (Input.GetAxis("Vertical") > 0.0f) //Проверяем на изминениея позиции персонажа повертикали, если да
            {
                if (movePlayer.speed == movePlayer._speed * 2) //Проверяем скорость Передвижения персонажа,   
                {
                    animation.CrossFade("Run00"); //Если зажата клавиша shift, значит грузим анимацию бега
                }
                else
                {
                    animation.CrossFade("Walk"); //В противном случаее ходьбу
                }
            }
            else if (Input.GetAxis("Vertical") < 0.0f) //Далее все по анологии
            {
                if (movePlayer.speed == movePlayer._speed * 2)
                {
                    animation.CrossFade("B_Run00"); //бег назад
                }
                else
                {
                    animation.CrossFade("B_Walk"); //ходьба назад
                }
            }
            else if (Input.GetAxis("Horizontal") > 0.0f)
            {
                if (movePlayer.speed == movePlayer._speed * 2)
                {
                    animation.CrossFade("R_Run00"); //бег в право
                }
                else
                {
                    animation.CrossFade("R_Walk"); //Шагание в право
                }

            }
            else if (Input.GetAxis("Horizontal") < 0.0f)
            {
                if (movePlayer.speed == movePlayer._speed * 2)
                {
                    animation.CrossFade("L_Run00"); //лево
                }
                else
                {
                    animation.CrossFade("L_Walk"); //лево
                }
            }
            else if (Input.GetKey(KeyCode.Space)) //если сделан прыжок
            {

                animation.Play("Jump_NoBlade"); //Включаем анимацию прыжка
            }
            else
            {
                animation.CrossFade("Idle"); //просто стоим
            }
        }
        else if (movePlayer.IsDrawWeapon == true) //если оружие вытащено
        {
            if (Input.GetAxis("Vertical") > 0.0f)
            {
                animation.CrossFade("Run"); //бег в перед
            }
            else if (Input.GetAxis("Vertical") < 0.0f)
            {
                animation.CrossFade("B_Run"); //назад   
            }
            else if (Input.GetAxis("Horizontal") > 0.0f)
            {
                animation.CrossFade("R_Run"); //в право
            }
            else if (Input.GetAxis("Horizontal") < 0.0f)
            {
                animation.CrossFade("L_Run"); //в лево
            }
            else if (Input.GetKey(KeyCode.Space))
            {
                animation.Play("jump"); //Прыжок
            }
            else
            {
                animation.CrossFade("AttackStandy"); //просто стоим
            }

            //Анимация атаки
            if (Input.GetMouseButton(0)) //Если нажать маус 1
                animation.CrossFade("Attack01"); //Включаем анимацию атаки
            if (Input.GetMouseButton(1)) //Если нажать маус 2
                animation.CrossFade("Skill"); //Включаем анимацию скила
        }
    }
}
ZiliusДата: Воскресенье, 18 Октября 2015, 00:05 | Сообщение # 4 | Тема: Ошибки в скрипте
был не раз
Сейчас нет на сайте
Цитата YellowAfterlife ()
Цитата Zilius ()
Код
codeusing UnityEngine;

Возможно, этот префикс "code" был скопирован случайно и является лишним.

Да с этим тупанул, появилась другая ошибка sad
ZiliusДата: Суббота, 17 Октября 2015, 22:38 | Сообщение # 5 | Тема: Ошибки в скрипте
был не раз
Сейчас нет на сайте
Всем привет, юнька выдает ошибку:
error CS1061: Type `UnityEngine.Component' does not contain a definition for `freezeRotation' and no extension method `freezeRotation' of type `UnityEngine.Component' could be found (are you missing a using directive or an assembly reference?)
Подскажите... как можно это исправить?
Код
using UnityEngine;
using System.Collections;

public class CamMove : MonoBehaviour
{
    public Transform target; //Объект за которым летаем(Наш персонаж)
    public float distance = 3.0f; //На каком ратоянии от него
    public float xSpeed = 125.0f; //Чуствительность по Х
    public float ySpeed = 50.0f; //Y Чуствительность
    public float targetHeight = 2.0f; //Высота относительно объекта
                    //Минимальный и максимальный угол поворота Y инче камеру разверет, Дальше у нас будет простая функция для инвертации их в обратные числа
    public float yMinLimit = -40;
    public float yMaxLimit = 80;
    //Максимальное удаление и приближение камеры к персонажу, искорость.
    public float maxDistance = 10.0f;
    public float minDistance = 0.5f;
    public float zoomRote = 90.0f;

    private float x = 0.0f; //Угол поворота по Y?
    private float y = 0.0f; //Уго поворота по X?

    [AddComponentMenu("Scripts/Mouse Orbit")] //Добавляем в меню

    public void Start()
    {
        //переворачивам углы
        Vector3 angles = transform.eulerAngles;
        x = angles.y;
        y = angles.x;

        if (rigidbody)
            rigidbody.freezeRotation = true; //Если камера столкнется с физ.объектомона остановиться
    }

    public void LateUpdate()
    {
        if (target)
        {//Если цель установлена(Персонаж)
         //Меняем углы согласно положению мыши
            x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
            y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
            //Меняем дистанция до персонажа.
            distance -= (Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime) * zoomRote * Mathf.Abs(distance);
            distance = Mathf.Clamp(distance, minDistance, maxDistance);

            y = ClampAngle(y, yMinLimit, yMaxLimit); //Вызыв самописной функции для ограничения углов поврот
            movePlayer.x = x;
            //Повернуть камеру согласно поченым данным
            Quaternion rotation = Quaternion.Euler(y, x, 0);
            transform.rotation = rotation;

            //Двигаем камеру и следим за персонажем
            Vector3 position = rotation * new Vector3(0.0f, targetHeight + 0.5f, -distance) + target.position;
            transform.position = position;

            //Следуйщи код нужен что бы камера не проваливалась по ланшафт   
            RaycastHit hit;
            Vector3 trueTargetPosition = target.transform.position - new Vector3(0, -targetHeight, 0);
            if (Physics.Linecast(trueTargetPosition, transform.position, out hit))
            {
                float tempDistance = Vector3.Distance(trueTargetPosition, hit.point) - 0.28f;
                position = target.position - (rotation * Vector3.forward * tempDistance + new Vector3(0, -targetHeight, 0));
                transform.position = position;
            }
        }

    }
    //Меняем значения углов
    public static float ClampAngle(float angle, float min, float max)
    {
        if (angle < -360)
            angle += 360;
        if (angle > 360)
            angle -= 360;
        return Mathf.Clamp(angle, min, max);
    }
}


Сообщение отредактировал Zilius - Воскресенье, 18 Октября 2015, 00:04
ZiliusДата: Четверг, 21 Мая 2015, 21:46 | Сообщение # 6 | Тема: GUI интерфейс в скрипте
был не раз
Сейчас нет на сайте
Цитата harmoxyne ()
в OnGUI() просто выводи надпись с CurAmmoCount.

Ничего не понял,можно по подробней?)
ZiliusДата: Среда, 20 Мая 2015, 23:11 | Сообщение # 7 | Тема: GUI интерфейс в скрипте
был не раз
Сейчас нет на сайте
Здравствуйте,помогите в скрипте поставить свой интерфейс о кол-че патронов в обойме
Код
using UnityEngine;
using System.Collections;
   
public class PM : MonoBehaviour {
   
     public Transform bullet; //Префаб патрона
     public GUISkin MySkin;  //Ссылка на наш скин
     public int BulletForce = 5000; //Скорость патрона
     private int CurAmmoCount = 8; //Текущее кол-во патронов в обойме
     public int MaxAmmoCount = 8; //Максимальное число патронов в обойме
     public int CurCatrige = 2;  //Текущее число обойм
     public int MaxCatrige = 3;  //Максимальное число обойм (пока не используется)
     public AudioClip Fire; //Аудиоклип воспроизводящийся во время стрельбы
     public AudioClip Reload; //Аудиоклип воспроизводящийся во время перезарядки
     public int AmmoBoxWidth = 200;
     public int AmmoBoxHeight = 30;
     // Use this for initialization
      void Start ()  
     {
     }
   
     // Update is called once per frame
     void Update ()
     {
         if(Input.GetMouseButtonDown(0)&CurAmmoCount>0) //Если нажата ЛКМ и кол-во патронов больше 0
             {
              Transform BulletInstance = (Transform) Instantiate(bullet, GameObject.Find("spawn_bullet_pistol_01").transform.position, Quaternion.identity); //Генерится префаб патрона в координатах объекта "BulletSpawnPoint"
              BulletInstance.rigidbody.AddForce(transform.forward * BulletForce); //Сгенерированый патрон отправляется вперед со скоростью "BulletForce"
              CurAmmoCount = CurAmmoCount - 1; //-1 патрон
              audio.PlayOneShot(Fire); //проигрываем звук выстрела
             }
          if(Input.GetButtonDown("Reload Weapon")&CurCatrige>0) //Если нажата кнопка Reload Weapon
              {
             CurCatrige = CurCatrige - 1;    //-1 обойма
             CurAmmoCount = MaxAmmoCount;    //Число патронов в обойме = максимальному числу патронов
             audio.PlayOneShot(Reload);      //проигрываем звук перезарядки
              }
     }
}
Форум игроделов » Записи участника » Zilius [7]
  • Страница 1 из 1
  • 1
Поиск:

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