« STIC Discussion:STIC IV/ex4 » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 42 : Ligne 42 :
Ok, merci. Je vais tester tout ça.
Ok, merci. Je vais tester tout ça.
Claire
Claire
====Re: Re: Questions sur l'exercice 4 -- [[Utilisateur:Claire Peltier|Claire Peltier]] 13 avril 2010 à 10:26 (CEST)====
Bonjour,
J'ai inséré le code suivant :
var score=0;
cheese1.addEventListener(MouseEvent.CLICK, moveCheese1);
function moveCheese1 (event:MouseEvent) {
score=score+1;
cheese1.x=402.8;
cheese1.y=222.7; }
cheese1.x=23.9;
cheese1.y=104.3;
et ainsi de suite pour tous les fromages. Et ensuite :
validate_btn.addEventListener(MouseEvent.CLICK, validateScore):void;
function validateScore (event:MouseEvent)
if (score==8)
{ trace("you win");
}
else
{ trace("missed");
}
J'ai un message d'erreur qui me dit :
1078: Label must be a simple identifier.
C'est un peu du chinois pour moi :(
Ce que je veux faire : l'apprenant doit compter 8 fromages. Quand il pense en avoir déplacé ce nombre dans la caisse (par clics, pas par drag and drop), il valide sur un bouton. Selon le nombre qu'il aura cliqué il sera dirigé sur un frame avec du son et une animation (pour l'instant j'ai juste mis "trace" pour tester. Que manque-t-il pour que ça marche ?!?

Version du 13 avril 2010 à 10:26

Questions sur l'exercice 4 -- Claire Peltier 12 avril 2010 à 18:45 (CEST)

Bonjour, J'ai bien avancé sur les exercices mais je suis coincée sur les points suivants :

  • jeu fromages : l'apprenant doit compter 8 fromages en cliquant dessus. Chaque clic sur un fromage le déplace dans une caisse. Comment faire pour le feedback ? J'ai envisagé plusieurs solutions mais sans savoir vraiment comment les mettre en oeuvre : créer une zone sensible autour de la caisse qui puisse "comptabiliser" le nombre d'éléments qui sont dessus après validation de la fin du jeu, paramétrer le jeu de telle sorte que le nombre de clics sur les fromages puissent être comptabilisés ??? J'ai bien une vague idée qu'il va falloir utiliser les conditions (if..else), mais je ne sais pas comment choisir et paramétrer mes variables au départ.
  • navigation entre clips : j'ai lu que les bonnes pratiques Flash voulaient qu'on utilise des movie clips intégrés dans l'animation principale mais j'ai de la peine à les piloter correctement (surtout le son). J'ai utilisé des boutons play et stop pour stopper et reprendre l'animation. Ca marche bien, sauf le son qui continue à se dérouler. Si je laisse mes animations visibles dans la timeline sans les "encapsuler" tout marche (y compris le son) car j'utilise les étiquettes pour naviguer entre les différentes parties.

Pouvez-vous m'aider ? Je peux aussi me déplacer à Tecfa, ça sera peut-être plus simple... Merci pour votre réponse. Claire

Re: Questions sur l'exercice 4 -- Daniel K. Schneider 12 avril 2010 à 20:23 (CEST)

Pour le comptage: Il faut séparer affichage et la logique de compter.

D'abord il faut décider ce que vous voulez compter:

  • Fromages dans la caise ?
  • Clics en tout ?
  • Mauvais clics ?

Pour chacune faire une variable et la mettre à zéro du début du script qui pilote cette animation:

fromages_dans_caisse = 0;
clics = 0;

Ensuite, à chaque fois qu'un utilisateur fait ou réussi qc. augmenter ces variables.

fonction xxx (ev) {
 clics = clics + 1;
....... reste du code qui gère les clics
 }

Ensuite, il faut effectivement décider quand il faut afficher quoi et comment.

Soit vous affichez dès qu'un utilisateur fait qc. soit à la fin. Dépend de vos réflexions sur le design de l'outil. Pour afficher il suffit de réserver une zone de texte, puis afficher ces nombres. Enfin si l'enfant ne sais pas lire les nombres, faut envisager de jouer un mp3...

Pour le son: On peut l'arrêter avec un peu de ActionScript. Insérer cela tel quel au début d'une fonction qui fait un play de qc.

SoundMixer.stopAll();

Re: Re: Questions sur l'exercice 4 -- Claire Peltier 12 avril 2010 à 23:03 (CEST)

Ok, merci. Je vais tester tout ça. Claire

Re: Re: Questions sur l'exercice 4 -- Claire Peltier 13 avril 2010 à 10:26 (CEST)

Bonjour,

J'ai inséré le code suivant :

var score=0;
cheese1.addEventListener(MouseEvent.CLICK, moveCheese1);
function moveCheese1 (event:MouseEvent) {
score=score+1;
cheese1.x=402.8;
cheese1.y=222.7; }
cheese1.x=23.9;
cheese1.y=104.3;

et ainsi de suite pour tous les fromages. Et ensuite :

validate_btn.addEventListener(MouseEvent.CLICK, validateScore):void;
function validateScore (event:MouseEvent)
if (score==8)
{	 trace("you win");
}
else
{	trace("missed");
}

J'ai un message d'erreur qui me dit :

1078: Label must be a simple identifier.

C'est un peu du chinois pour moi :(

Ce que je veux faire : l'apprenant doit compter 8 fromages. Quand il pense en avoir déplacé ce nombre dans la caisse (par clics, pas par drag and drop), il valide sur un bouton. Selon le nombre qu'il aura cliqué il sera dirigé sur un frame avec du son et une animation (pour l'instant j'ai juste mis "trace" pour tester. Que manque-t-il pour que ça marche ?!?