Четверг, 28 Марта 2024, 11:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Записи участника » alex9999 [24]
Результаты поиска
alex9999Дата: Пятница, 11 Мая 2018, 19:09 | Сообщение # 1 | Тема: скрипт управления
был не раз
Сейчас нет на сайте
Цитата drcrack ()
controller.isGrounded ненадежен и пользоваться им не стоит

Посоветуете другую альтернативу?


Unity the best
alex9999Дата: Пятница, 11 Мая 2018, 19:06 | Сообщение # 2 | Тема: срипт меню
был не раз
Сейчас нет на сайте
Цитата drcrack ()
Зачем ты вызываешь метод GetComponent у bool (true/false)?

Я примерно написал, книжки я пытался читать но там все как то обобщенно и туманно, на конкретных примерах мне лично легче понять смысл и принципы... Если бы знал как правильно написать код то не создавал темы...


Unity the best

Сообщение отредактировал alex9999 - Пятница, 11 Мая 2018, 19:07
alex9999Дата: Пятница, 11 Мая 2018, 18:09 | Сообщение # 3 | Тема: срипт меню
был не раз
Сейчас нет на сайте
Цитата drcrack ()
https://docs.unity3d.com/Manual/AudioMixer.html

это сложноватый способ, я думал реализовать как то попроще, например у меня есть префаб уничтожения корабля Explosion, в нем добавлен компонент Audio Source(в котором есть графа Mute) и думал через скрипт как то сделать чтобы при нажатии на кнопку sound включалось Mute для Audio Source. Примерно так:

есть скрипт на гл.герое PlayerScript, в котором есть публичная переменная Shoot Sound получается что то вроде этого:

a фоновая музыка у меня добавленна к Main Camera элемент Audio Source, где есть публичная переменная AudioClip. В Audio Source тоже есть поле Mute(где можно ставить галочку для тишины), так вот я хочу менять состояние поля Mute через кнопку Music, примерно так:

Я понимаю что код кривой, но вот интересно можно ли сделать это правильно?


Unity the best

Сообщение отредактировал alex9999 - Пятница, 11 Мая 2018, 18:27
alex9999Дата: Пятница, 11 Мая 2018, 16:38 | Сообщение # 4 | Тема: скрипт управления
был не раз
Сейчас нет на сайте
Цитата drcrack ()
Заменить FindGameObjectsWithTag на FindGameObjectWithTag

Спасибо, помогло, но вылез непонятный баг, теперь персонаж все время прыгает, когда находится в покое, не подскажете с чем это связанно?


Unity the best
alex9999Дата: Пятница, 11 Мая 2018, 15:48 | Сообщение # 5 | Тема: скрипт управления
был не раз
Сейчас нет на сайте
Здравствуйте, помогите пожалуйста устранить ошибку :
Assets/scripts/CharacterMechaniks.cs(27,64): error CS1061: Type `UnityEngine.GameObject[]' does not contain a definition for `GetComponent' and no extension method `GetComponent' of type `UnityEngine.GameObject[]' could be found. Are you missing an assembly reference?
ругается на этот скрипт

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

юнити выделяет эту строчку в ошибку:
mContr =GameObject.FindGameObjectsWithTag("Joystick").GetComponent<MobileController>(); из первого скрипта.
Подскажите как исправить


Unity the best
alex9999Дата: Пятница, 11 Мая 2018, 15:07 | Сообщение # 6 | Тема: срипт меню
был не раз
Сейчас нет на сайте
Цитата drcrack ()
Тебе нужен AudioMixer (несколько)

А можно поподробнее


Unity the best
alex9999Дата: Пятница, 11 Мая 2018, 00:33 | Сообщение # 7 | Тема: срипт меню
был не раз
Сейчас нет на сайте
Спасибо, за помощь, да знания у меня не очень, я недавно начал заниматься этим увлекательным делом)) Вот и решаю проблемы по мере их поступления....
Подскажите как мне реализовать еще одну кнопку, чтобы sound выключало звуки стрельбы и взрывов, а music выключало только музыку(а шумы чтобы оставались)?
выглядит примерно так:


Unity the best

Сообщение отредактировал alex9999 - Пятница, 11 Мая 2018, 00:40
alex9999Дата: Четверг, 10 Мая 2018, 23:28 | Сообщение # 8 | Тема: срипт меню
был не раз
Сейчас нет на сайте
Здравствуйте, помогите пожалуйста закончить скрипт меню, есть кнопка которая выключает звук, а напротив нее должна появляться красная гаолчка, когда нет звука, как это правильно оформить?
вот скрипт:


Unity the best

Сообщение отредактировал alex9999 - Пятница, 11 Мая 2018, 15:10
alex9999Дата: Среда, 09 Мая 2018, 20:55 | Сообщение # 9 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Всем привет, подскажите пожалуйста, что нужно выставить в настройках проекта(юнити2017) чтобы пропорции экрана сохранялись для всех разрешений и соотношений сторон(16:9, 4:3, 16:10 и тд и тп)? Если это в принципе возможно))

Unity the best
alex9999Дата: Воскресенье, 06 Мая 2018, 19:03 | Сообщение # 10 | Тема: скрипт здоровья
был не раз
Сейчас нет на сайте
Цитата JoeHorzenDev ()
Твори шедевр))

осталось сделать кнопку блокировки звука и можно публиковать, спасибо всем за помощь!


Unity the best

Сообщение отредактировал alex9999 - Среда, 09 Мая 2018, 20:51
alex9999Дата: Воскресенье, 06 Мая 2018, 18:42 | Сообщение # 11 | Тема: скрипт здоровья
был не раз
Сейчас нет на сайте
Цитата JoeHorzenDev ()
Сделал в геймконтролере паблик объект плеер, и в инспекторе повесил объект плеера)

Спасибо за помощь, все работает)) только я эту строчку Player.GetComponent<HealthScript>().hp=300; поставил под вот этим :
if (score >= win)
{


Unity the best

Сообщение отредактировал alex9999 - Воскресенье, 06 Мая 2018, 18:44
alex9999Дата: Воскресенье, 06 Мая 2018, 18:21 | Сообщение # 12 | Тема: скрипт здоровья
был не раз
Сейчас нет на сайте
Цитата JoeHorzenDev ()
Вон туды втыкал?

да, все равно та же ошибка, и так делал:
void Update () {
if (score >= win)
gameObject.CompareTag("Player").GetComponent<HealthScript>().hp = 300;
}
все равно такая же ситуация...


Unity the best
alex9999Дата: Воскресенье, 06 Мая 2018, 17:55 | Сообщение # 13 | Тема: скрипт здоровья
был не раз
Сейчас нет на сайте
Вот такая ошибка выходит : Assets/scripts/GameController.cs(95,45): error CS1061: Type `bool' does not contain a definition for `GetComponent' and no extension method `GetComponent' of type `bool' could be found. Are you missing an assembly reference?

вставлял строчку перед
Код
GUI.Box(new Rect(Screen.width / 2 - 30, Screen.height / 2 - 20, 60, 30), "Win");
            if (GUI.Button(new Rect(Screen.width / 2 - 50, Screen.height / 2 + 60, 100, 30), "Menu"))
            {
                Application.LoadLevel(0);
               
            }

и перед последней фигурной скобкой, GetComponent<HealthScript> во всех случаях подсвечивается красным


Unity the best

Сообщение отредактировал alex9999 - Воскресенье, 06 Мая 2018, 17:56
alex9999Дата: Воскресенье, 06 Мая 2018, 16:24 | Сообщение # 14 | Тема: скрипт здоровья
был не раз
Сейчас нет на сайте
Здравствуйте, помогите пожалуйста решить проблему:
есть скрипт здоровья HealthScript, он висит на главном игроке(playerShip с тегом Player) и на врагах(enemy без тега), в обоих случаях значение hp = 1
Код

using UnityEngine;

/// <summary>
/// Handle hitpoints and damages
/// </summary>
public class HealthScript : MonoBehaviour
{
    /// <summary>
    /// Всего хитпоинтов
    /// </summary>
    public int hp = 1;
    public bool dead = false;

    /// <summary>
    /// Враг или игрок?
    /// </summary>
    public bool isEnemy = true;
    public Transform explosion;

    /// <summary>
    /// Наносим урон и проверяем должен ли объект быть уничтожен
    /// </summary>
    /// <param name="damageCount"></param>
    public void Damage(int damageCount)
    {
        hp -= damageCount;

        if (hp <= 0)
        {
            // Срабатывает при уничтожении объекта
            if (explosion) ;
            {
                GameObject exploder = ((Transform)Instantiate(explosion, this.transform.position, this.transform.rotation)).gameObject;
                Destroy(exploder, 2.0f);
                Destroy(this.gameObject);

                dead = true;
            }
            
        }
        
    }

}

и есть скрипт GameController(в котором спавнятся враги и появляется гуи интерфейс при прохождении уровня):
Код

private void OnGUI()
    {

       
        if (score >= win)
        {
            
            GUI.Box(new Rect(Screen.width / 2 - 30, Screen.height / 2 - 20, 60, 30), "Win");
            if (GUI.Button(new Rect(Screen.width / 2 - 50, Screen.height / 2 + 60, 100, 30), "Menu"))
            {
                Application.LoadLevel(0);
               
            }

            
        }

    }

подскажите пожалуйста как мне сделать чтобы при появлении этой кнопки или когда (score >= win), hp главного героя(playerShip с тегом Player) становилось равно 300?


Unity the best

Сообщение отредактировал alex9999 - Воскресенье, 06 Мая 2018, 16:26
alex9999Дата: Среда, 02 Мая 2018, 21:13 | Сообщение # 15 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Цитата drcrack ()
var ship = GameObject.Find("playerShip");
if(ship != null) player = ship.transform;

Спасибо, ошибки ушли.


Unity the best
alex9999Дата: Вторник, 01 Мая 2018, 21:08 | Сообщение # 16 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Цитата drcrack ()
player = GameObject.Find("playerShip").transform;

вы правы visual studio ругается на эту строчку: player = GameObject.Find("playerShip").transform;

как поставить проверку, не подскажете?
Цитата BrightSpot ()
попробуй
Код
if(player != null)//если игрок "умерает" через Destroy
{
delta = player.position - transform.position;
delta.Normalize();
}

заменить на
Код
if(player != null)//если игрок "умерает" через Destroy
{
delta = player.position - transform.position;
delta.Normalize();
}
else
{
delta = transform.position;
}

к сожалению не сработало, базу обещаю подучить))


Unity the best
alex9999Дата: Понедельник, 30 Апреля 2018, 21:35 | Сообщение # 17 | Тема: не работает спавн врага
был не раз
Сейчас нет на сайте
Спасибо всем отозвавшимся, проблема решена

Unity the best

Сообщение отредактировал alex9999 - Воскресенье, 06 Мая 2018, 19:12
alex9999Дата: Понедельник, 30 Апреля 2018, 20:56 | Сообщение # 18 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Цитата BrightSpot ()
Вот так замени, по простому:

Cпасибо, все работает, но вылезла другая проблема , если игрок уничтожен до спавна 10 врага юнити дает такое:
NullReferenceException: Object reference not set to an instance of an object
MoveTowardsPlayer.Start () (at Assets/scripts/MoveTowardsPlayer.cs:17)

подскажите пожалуйста как решить


Unity the best

Сообщение отредактировал alex9999 - Понедельник, 30 Апреля 2018, 22:38
alex9999Дата: Понедельник, 30 Апреля 2018, 20:49 | Сообщение # 19 | Тема: не работает спавн врага
был не раз
Сейчас нет на сайте
Цитата BrightSpot ()
_hero

А что вместо этого вставить? У меня есть скрипт PlayerScript на игроке и HealthScript(там как раз hp)


Unity the best

Сообщение отредактировал alex9999 - Понедельник, 30 Апреля 2018, 20:51
alex9999Дата: Воскресенье, 29 Апреля 2018, 23:11 | Сообщение # 20 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Цитата drcrack ()
сделать delta полем класса и не менять ее, если игрок мертв

а поподробнее можно?


Unity the best
Форум игроделов » Записи участника » alex9999 [24]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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