#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;
}
}
}
}