Donc, voici ce que j'essaie de faire, et franchement, je crois que cela devrait être évident, mais je ne peux pas le comprendre. Je crée une simulation d'Intelligence Artificielle très simple. Et dans cette simulation, il y a une boîte de saisie en bas de l'écran (appelée "entrée" exactement). "input" a une variable dans ses propriétés qui s'appelle "inbox" (exactement). À l'aide d'un écouteur de touche, le script appelle une fonction lorsque le bouton Entrée est enfoncé. Cette fonction a 2 instructions if et une instruction else qui dicte les réponses de l'IA (appelée "nistra"). Le problème est le suivant: lorsque je tape ce que je veux dire, et que j'appuie sur entrée, il utilise toujours la seconde réponse ("lockpick" dans le code ci-dessous). J'ai essayé des variantes sur le code mais je ne vois toujours pas la solution. Je crois que le problème est que la variable "typein" contient toutes les informations de format de la boîte de texte ainsi que la variable, mais je pourrais me tromper, cette information est ici aussi, sous le code lui-même. Toute aide que je pourrais obtenir serait grandement appréciée.zone de texte de saisie d'actionscript 2.0
var typein = ""; //copies the text from inbox into here, this is what nistra responds to
var inbox = ""; //this is where the text from the input text box goes
var respond = ""; //nistra's responses go here
my_listener = new Object(); // key listener
my_listener.onKeyDown = function()
{
if(Key.isDown(13)) //enter button pressed
{
typein = inbox; // moves inbox into typein
nistraresponse(); // calles nistra's responses
}
//code = Key.getCode();
//trace ("Key pressed = " + code);
}
Key.addListener(my_listener); // key listener ends here
nistraresponse = function() // nistra's responses
{
trace(typein); // trace out what "typein" holds
if(typein = "Hello") // if you type in "Hello"
{
respond = "Hello, How are you?";
}
if(typein = "lockpick") // if you type in "lockpick"
{
respond = "Affirmative";
}
else // anything else
{
respond = "I do not understand the command, please rephrase";
}
cntxtID = setInterval(clearnistra, 5000); // calls the function that clears out nistra's response box so that her responses don't just sit there
}
clearnistra = function() // clears her respond box
{
respond = "";
clearInterval(cntxtID);
}
// "typein" traces sur les éléments suivants
<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="Times New Roman" SIZE="20" COLOR="#FF0000" LETTERSPACING="0" KERNING="0">test</FONT></P></TEXTFORMAT>
Malheureusement, cela ne fonctionne pas, à l'aide que le changement a commencé à répondre simplement à tout avec l'autre cas. "Je ne comprends pas". Même si c'était une entrée correcte. – user1769760
Je tiens également à souligner que je viens de corriger ce qu'il trace, il a semblé coller les mauvaises informations lorsque j'ai posté la question pour la première fois. – user1769760
Ok, je suis en train de jouer avec, et j'ai ajouté 3 boutons qui font essentiellement la même chose sans avoir à taper la commande. Voici le code pour les boutons. b_hello.onRelease = function() { \t typein = "Bonjour"; \t nistraresponse(); \t trace ("calling"); } b_lock.onRelease = fonction() { \t typein = "lockpick"; \t nistraresponse(); } b_dontunderstand.onRelease = function() { \t typein = "ne l'obtient pas"; \t nistraresponse(); } Cela fonctionne donc correctement – user1769760