vérifier appui d'une touche
bonjour,
Je m'explique:
Mon but est d'implémenter un script en C de telle manière qu'à chaque appui de la touche I,j'incrémente la variable globale k.Je n'y arrive pas !
En C#,en utilisant l'API de Unity,j'y arrive !
Code:
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
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class essai : MonoBehaviour
{
int k=0;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.I)
{
k++;
print(k);
}
} |
Mon problème est que je n'arrive pas à en faire autant en C:
Code:
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
|
#include <stdio.h>
#include <string.h>
int k=0;
void fonction(void)
{char c;
printf("tapez la lettre i: ");
scanf("%c",&c);
if(c=='i')
{ k++;
printf("%d",k);
}
else{
printf("mauvaise saisie caractère");
}
}
int main(void) {
fonction();
return 0;
} |
la raison est simple:
ce script C ne s'exécute qu'une seule fois et se termine dès que j'appui sur la touche I tandis que dans le srcipt C#,la fonction Update() fait qu'à chaque nouvelle frame,je peux à nouveau appuyer sur la touche I
Comment modifier le script C pour qu'à chaque fois(et non pas une seule fois) je puisse appuyer à nouveau sur la touche I?
merci de votre aide