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

Cannot implicitly convert type 'void' to 'bool'

09.11.2022, 17:14. Показов 919. Ответов 10

Студворк — интернет-сервис помощи студентам
Писал код по видеоролики и заменил управление на кнопки в UI.
Выдалась ошибка :Assets\Attack.cs(20,13): error CS0029: Cannot implicitly convert type 'void' to 'bool'
Подскажите как это исправить.


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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class Attack : MonoBehaviour
{ 
    public int handAttack;
    public float timer
    public Button btn;
    Animator animator;
 
  void Start()
    {
        animator = GetComponent<Animator>();
    }
 
    void FixedUpdate()
    {
     if (btn.onClick.Invoke());
        {
            if (timer <= 0.01f)
            {
                if (handAttack != 2)
                {
                    handAttack += 1;
                }
                else
                {
                    handAttack = 1;
                }
                animator.SetInteger("AtackHands", handAttack);
            }
        }
        if (animator.GetInteger("AtackHands") >= 1)
        {
            StartCoroutine(TimerAttack(0.7f));
        }
    }
    IEnumerator TimerAttack(float time)
    {
        timer = timer + Time.deltaTime;
        if(timer>= time)
        {
            timer = 0;
            animator.SetInteger("AtackHands", 0);
            yield return null;
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2022, 17:14
Ответы с готовыми решениями:

Cannot implicitly convert type 'int' to 'OreMiner'
Такая проблема, у меня два скрипта Первый скрипт using UnityEngine.EventSystems; using UnityEngine; using UnityEngine.UI; ...

Error CS0029: Cannot implicitly convert type 'int' to 'string'
12,20: error CS0029: Cannot implicitly convert type 'int' to 'string' ребят помогите все нервы потратил что делать? вот код: using...

Ошибка error CS0029: Cannot implicitly convert type 'ClickObj' to 'UnityEngine.GameObject'
Не могу понять в чем проблема и как ее решить? using System.Collections; using System.Collections.Generic; using UnityEngine; using...

10
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
09.11.2022, 17:49
Цитата Сообщение от nikiforr Посмотреть сообщение
if (btn.onClick.Invoke());
Это не может сработать, так как Invoke просто вызывает метод, который висит на кнопке, а не возвращает true/false.
1
0 / 0 / 0
Регистрация: 29.07.2022
Сообщений: 59
09.11.2022, 18:16  [ТС]
samana, а тогда мне зделать управление по кнопке на UI?
0
 Аватар для Uzist
209 / 143 / 68
Регистрация: 09.05.2020
Сообщений: 747
09.11.2022, 18:22
Лучший ответ Сообщение было отмечено nikiforr как решение

Решение

samana про то, что с помощью btn.onClick.Invoke() нажатие на кнопку не отследишь.
Для отслеживания используются два метода с которыми вы уже сталкивались

C#
1
2
3
4
5
6
7
8
9
public bool btnPressed;
 
public void OnPointerDown(PointerEventData eventData){//отслеживает нажатие на кнопку
btnPressed = true;
}
 
public void OnPointerUp(PointerEventData eventData){//отслеживает "отпускание кнопки"
btnPressed = false;
}
вы просто должны создать bool переменную, присваивать ей значение в этих двух методах и уже вместо
if (btn.onClick.Invoke()); писать if(btnPressed)
2
0 / 0 / 0
Регистрация: 29.07.2022
Сообщений: 59
09.11.2022, 19:10  [ТС]
Uzist, Написал как вы сказал, ошибка:Assets\Attack.cs(12,31): error CS0246: The type or namespace name 'PointerEventData' could not be found (are you missing a using directive or an assembly reference?)
0
 Аватар для Uzist
209 / 143 / 68
Регистрация: 09.05.2020
Сообщений: 747
09.11.2022, 19:20
добавьте к назанию своего класса IPointerDownHandler, IPointerUpHandler и подключите библиотеку UnityEngine.EventSystems;
выглядеть будет так
C#
1
2
3
4
5
6
7
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
 
public class Attack : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
Не забудьте про коллайдеры на кнопках и eventSystem на сцене
1
0 / 0 / 0
Регистрация: 29.07.2022
Сообщений: 59
09.11.2022, 20:05  [ТС]
Uzist, а как указать эту кнопку?
0
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
09.11.2022, 20:09
nikiforr, что должна делать эта кнопка?
0
0 / 0 / 0
Регистрация: 29.07.2022
Сообщений: 59
09.11.2022, 20:12  [ТС]
Fantom1987, выполнить действия в этом скрипте
0
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
09.11.2022, 20:21
Лучший ответ Сообщение было отмечено nikiforr как решение

Решение

nikiforr,
C#
1
2
3
4
5
6
7
public void Start()
        {
            btn.onClick.AddListener(() =>
            {
                // код который нужно выполнить
            });
        }
или по стандарту: создаем публичный метод с нужным кодом и вешаем на кнопку в инспекторе
0
 Аватар для Uzist
209 / 143 / 68
Регистрация: 09.05.2020
Сообщений: 747
09.11.2022, 20:29
Лучший ответ Сообщение было отмечено nikiforr как решение

Решение

nikiforr, никак не указывать, добавь скрипт с этими двумя методами сразу на неё.А переменную btnPressed либо оставить как есть, либо если есть потребность, то передать её с помощью обнаружения кнопки по имени, тегу, скрипту, как тебе угодно)

Добавлено через 51 секунду
Fantom1987, ему не это надо, а определить нажата ли кнопка
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.11.2022, 20:29
Помогаю со студенческими работами здесь

error CS0029: Cannot implicitly convert type `UnityEngine.Transform[]' to `UnityEngine.vector2'
Помогите пожалуйста понять/решить ошибку! Компилятор ругается на 14 строку, искал решение в интернете, но не смог решить. using...

Error CS0029: Cannot implicitly convert type 'byte[]' to 'byte'
Добрый вечер! Помогите решить проблему! Ошибка: Assets\GameManager.cs(61,16): error CS0029: Cannot implicitly convert type 'byte' to...

Cannot implicitly convert type `Material' to `UnityEngine.Material'
Помогите с данной проблемой, вышли ошибки, но раньше подобного не было Cannot implicitly convert type `Material' to...

Error CS0029: Cannot implicitly convert type `void' to `bool'
Код оч костылявый, но просьба не бомбить, с С шарпом знаком ну уж оч мало.. Так вот, ошибка DelGemes.cs(17,32): error CS0029: Cannot...

Cannot implicitly convert type 'string' to 'bool'
bool res = !a.Any(x =&gt; reporting.Where(r =&gt; r.File as string ?? r.File?.Name).Contains(x)); Что я делаю не так?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru