Ошибка Unity CS1520: метод должен иметь возвращаемый тип

#unity3d #if-statement

#unity3d #if-оператор

Вопрос:

Я пытаюсь запустить переход от анимации ожидания к запущенной анимации при нажатии кнопки «d».

(Ссылка на учебное пособие, описывающее подобный переход, также может сработать).

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

        public class IdleToJump : MonoBehaviour
    {
        bool keyHold = false;
        public Form1()
        {
        InitializeComponent();
        }
    
        private void timer1_Tick(object sender, EventArgs e)
        {
        if (keyHold == true)
        {
            anim.Play("Run_Anim");
        }
    }

    private void Key_up(object sender, KeyEventArgs e)
    {
        Key key = (Key)sender;
        if (key == "d") {
            keyHold = false;
        }
        }

        private void Key_down(object sender, KeyEventArgs e)
        {
            Key key = (Key)sender;
            if (key == "d")
            {
                keyHold = true;
            }
        }
    }
 

Ответ №1:

Перекрестная проверка, вы кодируете с этим. Form1 выглядит как конструктор, который каким-то образом был автоматически сгенерирован. Просто прокомментируйте это и добавьте последние два метода внутри класса, а не снаружи.

     using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class IdleToJump : MonoBehaviour
    {
        bool keyHold = false;
        //public Form1()//Not sure this constructor is relevant in class, so just comment it
        //{
          //InitializeComponent();
        //}
    
        private void timer1_Tick(object sender, EventArgs e)
        {
         if (keyHold == true)
         {
            anim.Play("Run_Anim");
         }
    
    
    private void Key_up(object sender, KeyEventArgs e)
    {
        Key key = (Key)sender;
        if (key == "d") {
            keyHold = false;
        }
    }
    
    private void Key_down(object sender, KeyEventArgs e)
    {
            Key key = (Key)sender;
            if (key == "d")
            {
                keyHold = true;
            }
        }
    }
}