Lingo match à cliqué sur deux sprites - comme un jeu d'association
Lingo match à cliqué sur deux sprites - comme un jeu d'association shulamis Durden - 01-29-2009
Salut.
Je voudrais écrire un simple langage de script de faire correspondre une lettre de son nom. Il ya sept lettres différentes avec leur nom sur la page. Si un utilisateur clique sur un match alors qu'il ou elle ira à un différent avec un "message correct". Si l'utilisateur n'a pas cliquer sur un match, l'utilisateur ira à une autre page avec un «incorrects» message.
Merci
Shulamis
Smd
Re: Lingo match à cliqué sur deux sprites - comme un jeu d'association William McGrath - 02-10-2009
Vous pouvez faire un seul script pour chaque paire de sprites. Simplement de les identifier dans une propriété de ce genre:
Propriété myletter
Beginsprite sur moi
Myletter = "a" - ou quoi que ce soit
Fin
Pour répondre aux clics, Je voudrais faire deux globals, Dire gclick1 et gclick2.
N'oubliez pas d'écrire mondial gclick1, Gclick2 en haut
MouseUp sur moi
Si gclick1 = "", puis - en d'autres termes, Le premier slot est disponible (car ce nombre est de cliquer 1)
Gclick1 = myletter
D'autre - si la première a été prise slot, Alors c'est évidemment le deuxième clic
Gclick2 = myletter
- à ce stade, vous aussi de les comparer, Faire ce qui doit être fait avec de bonnes ou de mauvaises réponses, Et remettre le globals pour la prochaine série de clics --
Si gclick1 = gclick2 alors
Peu importe
Autre
WhateverAutre
Fin si
Gclick1 = ""
Gclick2 = ""
Fin si
Fin
Il ya un million de façons de le faire, Mais j'aime bien celui-ci.
---
William
Re: Lingo match à cliqué sur deux sprites - comme un jeu d'association shulamis Durden - 02-10-2009
William,
Merci pour votre réponse.
J'ai quelques questions. Je suis un débutant avec lingo.
Serait le script pour chaque paire de sprites être considéré comme un script de film?
Dois-je faire un script différent pour chaque paire de sprites?
Ce script peut s'appliquer à des lettres qui sont d'une autre langue?
Sont les valeurs pour gclick1 et gclick 2 dans chaque mondiale?
Comment puis-je écrire le globals pour gclick1 et gclick2?
Pour la comparaison partie du script dois-je utiliser le whateverelse option? J'allais écrire comme suit:
Si gclick1 = gclick2 alors
Jouer "correct"
Else play "incorrect"
Fin si
Que dois-je remettre ces valeurs ou dois-je les laisser comme ils sont?
Gclick1 = ""
Gclick2 = ""
Merci
Shulamis
Smd
Re: Lingo match à cliqué sur deux sprites - comme un jeu d'association William McGrath - 02-11-2009
Serait le script pour chaque paire de sprites être considéré comme un script de film?
Non, C'est un comportement. Ne pas utiliser de scripts de films pour cette chose. De changer de l'un à l'autre, Cliquez sur l'icône d'information.
Je dois faire un script différent pour chaque paire de sprites?
Oui, Il existe des moyens de le faire tous en un seul script, Mais la programmation peut être beaucoup plus impliqués. Essentiellement de cette façon vous serez dupliquer le même scénario à plusieurs reprises, Et juste de changer le nom du script et de la valeur de la propriété.
Ce script peut s'appliquer à des lettres qui sont d'une autre langue?
Oui, Parce que ce que vous assignez une valeur pour la propriété est une chaîne entre guillemets. Je ne pense pas que cela devrait vous donner tous les problèmes.
Sont les valeurs de gclick1 et gclick 2 dans chaque mondiale?
Ils ne sont que deux globals tout le temps. Ce qui change est la valeur. Qui est la différence entre les variables globales et les propriétés (chaque script a sa propre myletter de propriété indépendante de tout le reste. Mais gclick1 et 2 sont deux variables, Les deux mêmes pour tous les sprites.
Comment puis-je écrire le globals pour gclick1 et gclick2?
Mettre cette ligne à très haut:
Mondial gclick1, Gclick2
Maintenant, Lorsque vous fonctionner avec ces noms dans n'importe quelle partie du script, Lingo sait que vous faites référence à l'échelle mondiale (et non local) variables.
Pour la comparaison partie du script dois-je utiliser le whateverelse option? J'allais écrire comme suit:
Si gclick1 = gclick2 alors
Jouer "correct"
Else play "incorrect"
Fin si
<<<
Yes, I think that should work nicely
Well, else and then a new line for play "incorrect"
>Que dois-je remettre ces valeurs ou dois-je les laisser comme ils sont?
Gclick1 = ""
Gclick2 = ""
Une fois que vous avez comparé les, Réinitialiser les "", Oui. Sinon, La prochaine fois que vous cliquez sur quelque chose, La valeur de la première variable sera encore reporté de la dernière fois (rappelez-vous, c'est une variable globale). De sorte qu'il ne pourrait jamais fonctionner comme il devrait. L'idée est: La première fois que vous cliquez sur, Il sait qu'il doit modifier la valeur de la première variable, Et la deuxième fois, il devrait travailler avec la seconde fois. Comment? Avec le premier clic, il ressemble à la première variable et se dit: ¿Est-ce pris? Non = ok, Alors c'est le premier clic. Oui = ok, Puis c'est la deuxième clic.
---
William
Re: Erreur de script pour le jeu d'association shulamis Durden - 02-12-2009
William,
J'ai essayé le script suivant, mais je suis une erreur de script. J'utilise Adobe Director 11. Est-il un moyen de joindre un fichier dans ce forum?
Propriété myaleph
Beginsprite sur moi
Myaleph = "א"
Fin
MouseUp sur moi
Si gclick1 = "א" Alors c'est là que l'erreur est variable utilisée avant la valeur attribuée
Gclick = myaleph
Autre
Gclick2 = myaleph
Si gclick1 = gclick2 alors
Jouer "correct"
Autre
Play "incorrect"
Fin si
Gclick1 = ""
Gclick2 = ""
Fin si
Fin
Shulamis
Smd
Re: Erreur de script pour le jeu d'association William McGrath - 02-13-2009
Propriété myaleph
Mondial gclick1, Gclick2 - attention à cette
Beginsprite sur moi
Gclick1 = ""
Gclick2 = ""
- il a été de me donner un problème, Afin de commencer à nous donner
- les globals une valeur de "" (vide)
Myaleph = "א"
- il n'a pas à être mybeth, Myshin ou quoi que ce soit:
- utiliser le même nom de la propriété pour tous. Ainsi, vous pouvez simplement
- copier et de coller le plus de cette, Juste attribuer une lettre différente
- pour le bien sur cette ligne et tout le reste fonctionne bien
- une autre chose: Je ne suis pas sûr de caractères non latins.
- essayez-le, Mais vous devrez peut-être à leur sort: "aleph", "beth"...
Fin
MouseUp sur moi
- d'abord vous cliquez sur l'attribuer à l'un des deux globals
- est ce que cela signifie: Le sprite qui était juste cliqué
- est le premier ou le deuxième d'une paire de clics,
- il déclare que, dans ce cas, Gclick1 = "א" ou gclick2 = "א" :
Si gclick1 = "", puis
Gclick1 = myaleph
Autre
Gclick2 = myaleph
- si elle a été gclick2 signifie que vous avez une paire
- (C'est la raison pour laquelle vous faites cela à l'intérieur de la clause d'autre)
- si vous êtes prêt à les comparer les unes aux autres
- Pour voir si elles sont à la fois le même
- (et, soit votre façon de réinitialiser eux pour la prochaine série de clics:
Si gclick1 = gclick2 alors
Jouer "correct"
Autre
Play "incorrect"
Fin si
Gclick1 = ""
Gclick2 = ""
Fin si
Fin MouseUp
--
Et je pense que c'est elle. Il fonctionne, Pour autant que je l'ai testé, Sauf pour les caractères hebrew, Mais je ne sais pas si c'est mon système ou administrateur.
Un autre problème que vous souhaitez aborder est ce qui se passe si vous cliquez deux fois sur le même sprite. Comme il est maintenant il aurez toujours une bonne réponse.
Vous pouvez ajouter une autre paire de globals juste de suivre cette:
Gspriteclicked1, Gspriteclicked2
Puis sur le MouseDown vous devez lui attribuer le nombre de sprite sprite clicked:
Gspriteclicked1 = moi.Spritenum
Ce serait la même procédure: Les mettre à "", Alors si gspriteclicked1 = "" attribuer le spritenum à gspriteclicked1, Else attribuer à gspriteclicked2
Puis, Sur le reste de la clause ci-dessus, Juste avant de vous comparer les gclick globals, Comparer ces: Si elles sont de la même, Jouer une «erreur» ou quoi que ce soit.
à nouveau, Il ya un million de façons de le faire, Je suis juste en suggérant une.