Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.09.2022
Сообщений: 3
1

Персонаж умирает и у него остается 1 сердечко

07.09.2022, 12:11. Показов 416. Ответов 3

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
 
public class Health : MonoBehaviour
{
    public int numOfHearts;
    public Image[] hearts;
    public Sprite fullHeart;
    public Sprite emptyHeart;
    public float health;
    public GameObject deathScreen;
    public GameObject effect;
 
    private void FixedUpdate()
    {
        if (health > numOfHearts)
        {
            health = numOfHearts;
        }
        for (int i = 0; i < hearts.Length; i++)
        {
            if (i < Mathf.RoundToInt(health))
            {
                hearts[i].sprite = fullHeart;
            }
            else
            {
                hearts[i].sprite = emptyHeart;
            }
            if (i < numOfHearts)
            {
                hearts[i].enabled = true;
            }
            else
            {
                hearts[i].enabled = false;
            }
        }
 
 
 
    }
 
    public void TakeHit(int damage)
    {
        Instantiate(effect, transform.position, Quaternion.identity);
        health -= damage;
 
        if (health <= 0)
        {
 
           
            gameObject.SetActive(false);
            deathScreen.SetActive(true);
 
        }
    }
}
Добавлено через 2 минуты
Ему наносится урон и после получения 4 урона перс умирает но 1 сердечко горит как активное

Добавлено через 1 минуту
Я знаю как можно пофиксить проблему если это был бы слайдер, а тут не понимаю как
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2022, 12:11
Ответы с готовыми решениями:

Персонаж не умирает
private float time = 0; private bool pusk = true; public GameObject Compom; private...

Персонаж не может идти вдоль коллайдера, уперевшись в него
Делаю игру с видом сверху, поставил коллайдер на персонажа, и кода я хочу упереться в коллайдер,...

Как сделать так, чтобы персонаж рубил дерево и потом с него выпадало бревно?
Подскажите пж, как сделать так, чтобы персонаж рубил дерево и потом с него выпадало бревно? Я ваще...

При повторном вызове прежний текст метки остается, а сзади него накладывается новый
Создаю label динамически: while (z&lt;4) { y=0; while (y&lt;6) { ...

Умирает или не умирает жесткий диск?
Диск - HDD 2ТБ, Seagate Desktop HDD, ST2000DM001 (брал в сентябре 2013 года). Машинка постоянно не...

3
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
07.09.2022, 18:43 2
Какой прикол делать переменную хп во флоат если у тебя дамаг всегда целое число?
После смерти перс офается gameObject.SetActive(false); и код, который редактирует сердца не срабатывает. Регулировать графику сердец надо в том месте где они меняются, а не в апдейте, ну или в апдейте, но из другого скрипта, который не отключается.
0
0 / 0 / 0
Регистрация: 07.09.2022
Сообщений: 3
09.09.2022, 11:04  [ТС] 3
Я поменял и разделил код
Но теперь у меня когда я получаю урон не показывается пустое сердечко, а если пополняю хп отображается пустое сердечко вместо заполненного
0
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
09.09.2022, 18:42 4
Криво поменял, что еще тут скажешь)
0
09.09.2022, 18:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2022, 18:42
Помогаю со студенческими работами здесь

При нажатии пробела персонаж прыгает, но если зажать пробел то персонаж взлетает, как исправить?
using System.Collections; using System.Collections.Generic; using UnityEngine; public class...

Почему при перемещении объекта остается "след" от него?
Почему при перемещении объекта остается &quot;след&quot; от него? Цель: переместить объект. Знаю, что...

Сердечко
По нажатию мышки на форме появлялось сердечко маленькое и так можно много сердец создавать.

При записи и считывании структуры в файл, сам файл остаётся пустыи остаётся пустым
void MainWindow::save_sort_load_records(){ QFile records_table(&quot;records_table&quot;); vector...

Вставить сердечко в заголовок
Ролтон +10 ♥ ( 5.000 руб) Как ввести сердечко , оно (ALT+3 = ♥) даёт ¦ вот эту фигню , а если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru