Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как решить ошибку в юнити

Никита Полутин Ученик (108), на голосовании 8 месяцев назад
ошибка

Assets\ButtonLight.cs(15,26): error CS0115: 'ButtonLight.OnMouseUp()': no suitable method found to override


код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ButtonLight : Button
{
public GameObject quad;

public override void OnMouseDown()
{
base.OnMouseDown();
quad.SetActive(false);
}

public override void OnMouseUp()
{
base.OnMouseUp();
quad.SetActive(true);
}
}
Голосование за лучший ответ
Bunag Мастер (1262) 9 месяцев назад
Ошибка CS0115 указывает на то, что метод OnMouseUp() в классе ButtonLight пытается переопределить базовый метод, но такого метода в базовом классе не существует или не подходит для переопределения.

В данном случае, вы пытаетесь переопределить методы OnMouseDown() и OnMouseUp() из базового класса Button, но класс Button, вероятно, не имеет этих методов, или они не являются виртуальными для переопределения.

Для решения этой проблемы вам нужно проверить базовый класс Button и убедиться, что методы OnMouseDown() и OnMouseUp() там определены и являются виртуальными для переопределения. Если это не так, вам нужно пересмотреть свой подход к реализации логики кнопки. Если у вас есть доступ к исходному коду базового класса Button, вы можете попробовать изменить его, чтобы сделать нужные методы виртуальными. Если нет, вам нужно будет найти другой способ реализации требуемого поведения вашей кнопки.
Похожие вопросы