script – Bloquear e desbloquear o teclado

Comando nativo desconheço, mas você pode criar funções para isso.

Function Bloqueia-Teclado {
    $__Método = @'
        (DllImport("user32.dll"))
        public static extern bool BlockInput(bool fBlockIt);
'@
    $__Classe = Add-Type -MemberDefinition $__Método -Name 'UserInput' -Namespace 'UserInput' -PassThru
    $__Classe::BlockInput( $true )
}
Function Desbloqueia-Teclado {
    $__Método = @'
        (DllImport("user32.dll"))
        public static extern bool BlockInput(bool fBlockIt);
'@
    $__Classe = Add-Type -MemberDefinition $__Método -Name 'UserInput' -Namespace 'UserInput' -PassThru
    $__Classe::BlockInput( $false )
}

c# – como igualo el input de teclado al input de un mando?

Estoy iniciando un projecto en unity 2D y quiero que tenga compatibilidad tanto con teclado como con mando de en este caso xbox360.

El problema es que mi codigo mueve a mi personaje con fisicas y tiene ese pequeño “aumento de velozidad” al inicio solo cuando lo uso con teclado, aun que si lo intento con mi control eso no se nota y pasa a moverse de forma mas rapida y no tan naturalmente.

Quiero saber como lograr que el movimiento con controller sea el mismo que obtengo al moverme con teclado

mi codigo es:

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

public class Movement : MonoBehaviour
{
    //Creamos las variables con las que trabajaremos
    private Rigidbody2D rb; //Declaramos una variable RigidBody como null
    public float velocidad; //Velocidad de movimiento

    void Start()
    {
        rb = GetComponent<Rigidbody2D>(); //El rb lo anidamos al componente RigidBody2D
    }

    void Update()
    {
        float x = Input.GetAxis("Horizontal"); //variable que lee el input horizontal
        float y = Input.GetAxis("Vertical"); //variable que lee el input vertical
        Vector2 direccion = new Vector2(x, y); 

        Caminar(direccion); //a la funcion caminar se le añade el valor (direccion)
    }

    private void Caminar(Vector2 direccion)
    {
        //esta funcion nos permite aplicar ese "movimiento" al personaje
        rb.velocity = (new Vector2(direccion.x * velocidad, rb.velocity.y));
    }
}

y las opciones del input manager para el movimiento horizontal son las que vienen por defecto.

¿como mover buttons con el evento teclado?

les explico mi pequeño juego requiere que las piezas se muevan cuando uso flechas (solo con el teclado), use button para este programa he intentado una infinidad de métodos pero no funcionan.

¿alguien tiene idea de que método debería de implementar?

public void movernegro(Button centro, Button boton) {
     String remplazar;
     remplazar = centro.Text;
     centro.Text = boton.Text;
     boton.Text = remplazar;
     centro.BackColor = Color.Black;
     boton.BackColor = Color.White;
}
        
public void posicionamiento(Button centro, Button boton1, Button boton2) { 
     if (boton1.Text == "16") {
         movernegro(centro, boton1);
     }else if (boton2.Text == "16") {
          movernegro(centro, boton2);
     }
}
       
public void posicionamiento(Button centro,Button boton1, Button boton2, Button boton3) {
     if (boton1.Text == "16")
     {
          movernegro(centro, boton1);
     }
     else if (boton2.Text == "16")
     {
          movernegro(centro, boton2);
     }
     else if (boton3.Text == "16")
     {
          movernegro(centro, boton3);
     }
}
        
public void posicionamiento(Button centro, Button boton1, Button boton2, Button boton3, Button boton4)
{    
     if (boton1.Text == "16")
     {
          movernegro(centro, boton1);
     }
     else if (boton2.Text == "16")
     {
          movernegro(centro, boton2);
     }
     else if (boton3.Text == "16")
     {
          movernegro(centro, boton3);
     }
     else if (boton4.Text == "16")
     {
          movernegro(centro, boton4);
     }
}
private void Randomizar_Click(object sender, EventArgs e)
{
     randomizar();
}
private void posicion1_KeyDown(object sender, KeyEventArgs e)
{
            
}

private void posicion1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
     if (e.KeyData == Keys.Right)
           if (posicion1.Text=="16")
           {
                 posicionamiento(posicion1, posicion2, posicion5);
                 ganar();
           }
      }
 }

Ingresar fecha por teclado c#

como debería ingresar una fecha especifica por teclado en c#? Solo estuve viendo de la forma en que se le colocan parámetros pero en mi caso no me sirve.