Robert
-
16 mai 2011 à 14:55
simon37
Messages postés23Date d'inscriptionmardi 25 août 2009StatutMembreDernière intervention15 décembre 2015
-
2 juin 2011 à 09:50
Bonjour,
j'aimerai appliquer un cookie a se code pour ne pas pouvoir refaire le quiz ? comment faire ? Je voudrait aussi que si la personne à déja fais le questionnaire qu'on lui affice que son résultat la prochaine fois.
AIDEZ moi SVP.
//// VARIABLES GLOBALES PRINCIPALES (à modifier au besoin) ////
// Delais d'affichage du résultat (bien joué ou oups)
var DELAIS_AFFICHAGE_RESULTAT:Number = 0.4;
// Delais d'affichage des bonnes réponses (quand erronées) en seconde (ex:0.75)
var DELAIS_AFFICHAGE_BONNES_REPONSES:Number = 0.75;
// Duree de l'animation 'fade' des bonnes réponses en seconde (ex:0.5)
var DUREE_FADE_BONNES_REPONSES:Number = 0.4;
// Drag items à jumeler (nombre peut varier: 2,3,4...)
// Il faut également ajouter autant de boutons nommés:
// 'btn_drag1', 'btn_drop1', 'btn_drag2' ...
// et de blocs texte individuels nommés 'mc_blocReponse1', 'mc_blocReponse2'...
var DRAG_ITEMS:Array = [
'Bûche roulante', // 1
'Mât de descente', // 2
'Bascules sans ressorts' // 3
];
// Bon match
// À gauche incrementer 1,2,3,4.., à droite indiquer les bonnes réponses
var BON_MATCH:Object = {
1: 3,
2: 1,
3: 2
};
//// CONSTANTES DE L'APPLICATION, NE PAS MODIFIER INUTILEMENT ////
// Initialisation d'un bouton drop
function initDropButton( vue:MovieClip, itemId:int ):void
{
vue.itemId = itemId; // intialisation dynamique de propriété
vue.dragItemId = 0;
// Un drag item survol le drop item
vue.hiliteOver = function( bool:Boolean ):void
{
this.alpha = ( bool ? 0.4 : 1 );
}
}
// Un bouton drag item est 'Mouse down' pour 'drag'
function _onMouseDownDragBtn( evt:MouseEvent ):void
{
var vue:MovieClip = evt.currentTarget as MovieClip;
// place on top
this.addChild( vue );
var dropVue:MovieClip;
var dragView:MovieClip;
vue.rollOverDropBtn = null; // ajout propriété dynamique
vue.addEventListener( Event.ENTER_FRAME, _onDragItem );
}
// Un bouton drag item est 'Mouse up' pour 'drop'
function _onMouseUpDragBtn( evt:MouseEvent ):void
{
var vue:MovieClip = evt.currentTarget as MovieClip;
var dragView:MovieClip;
vue.stopDrag();
// Vérifier sur au-dessus d'un drop item disponible
var candidateDropBtn:MovieClip = vue.getDropItemIdCandidate();
var tweenGotoX:int;
var tweenGotoY:int;
if( candidateDropBtn )
{
tweenGotoX = candidateDropBtn.x;
tweenGotoY = candidateDropBtn.y;
// Jumeler
vue.dropItemId = candidateDropBtn.itemId;
candidateDropBtn.dragItemId = vue.itemId;
candidateDropBtn.hiliteOver( false );
}
else
{
tweenGotoX = vue.oriPos.x;
tweenGotoY = vue.oriPos.y;
}
var distance:Number = Point.distance( new Point( vue.x, vue.y ), new Point( tweenGotoX, tweenGotoY ) );
var duration:int = distance / 30;
function _onDragItem( evt:Event ):void
{
var vue:MovieClip = evt.currentTarget as MovieClip;
// Vérifier sur au-dessus d'un drop item disponible
var candidateDropBtn:MovieClip = vue.getDropItemIdCandidate();
if( candidateDropBtn && !vue.rollOverDropBtn )
candidateDropBtn.hiliteOver( true );
else if( !candidateDropBtn && vue.rollOverDropBtn )
vue.rollOverDropBtn.hiliteOver( false );
else if( candidateDropBtn != vue.rollOverDropBtn )
{
candidateDropBtn.hiliteOver( true );
vue.rollOverDropBtn.hiliteOver( false );
}
vue.rollOverDropBtn = candidateDropBtn;
}
// Le bouton validez est cliqué
function _onClickValidezBtn( evt:MouseEvent ):void
{
// Verifier que toutes les étiquettes sont placées
var tousPlaces:Boolean = true;
var dropBtn:MovieClip;
var bonneReponse:int;
for each( dropBtn in this.dropButtons )
if( !dropBtn.dragItemId )
{
tousPlaces = false;
break;
}
// Griser les blocs
var len:int = DRAG_ITEMS.length;
var ct:ColorTransform;
for( var ibloc:int = 1 ; ibloc <= len ; ibloc++ )
{
var blocBg:MovieClip = this['mc_blocReponse'+ibloc]['blocReponseBackground_mc'];
ct = new ColorTransform();
ct.color = COULEUR_BLOC_APRES_VALIDEZ;
blocBg.transform.colorTransform = ct;
}
for each( dropBtn in this.dropButtons )
{
var dragBtn:MovieClip = this.dragButtons[ dropBtn.dragItemId - 1 ];
dragBtn.gotoAndStop('reponse_placee');
// Afficher la couleur de bg du bouton
var color:uint = ( dropBtn.succes ? COULEUR_CADRE_BONNE_REP : COULEUR_CADRE_MAUVAISE_REP );
ct = new ColorTransform();
ct.color = color;
MovieClip( dragBtn['cadre_mc'] ).transform.colorTransform = ct;
}
// Ajout des bonne réponses si tout pas bon
if( !toutBon )
{
var delaisInMilliseconds:int = DELAIS_AFFICHAGE_BONNES_REPONSES*1000;
this.timeoutId = setTimeout( afficherBonnesReponses, delaisInMilliseconds ); // creation propriete dynamique
}
}
// Affiche le texte 'les bonnes reponses sont:'
function afficherBonnesReponses():void
{
clearTimeout( this.timeoutId );
this.l_tween = new Array(); // creation propriete dynamique
// Afficher le texte 'Les bonnes reponses...'
var bonneReponseTxtMc:MovieClip = this['mc_lesBonnesReponses'];
bonneReponseTxtMc.visible = true;
bonneReponseTxtMc.alpha = 0;
var fps:int = DUREE_FADE_BONNES_REPONSES*stage.frameRate;
var tw:Tween = new Tween( bonneReponseTxtMc, 'alpha', null, 0, 1, fps, false );
this.l_tween.push( tw );
// Afficher les étiquettes avec les bonnes réponses.
var len:int = DRAG_ITEMS.length;
for( var iItem:int = 1 ; iItem <= len ; iItem++ )
{
var originalDragBtn:MovieClip = this.dragButtons[ iItem-1 ];
var cl:Class = getDefinitionByName('dragBtn') as Class;
var placeMc:MovieClip = new cl() as MovieClip;
addChild( placeMc );
placeMc.alpha = 0;
tw = new Tween( placeMc, 'alpha', null, 0, 1, fps, false );
this.l_tween.push( tw );
placeMc.x = originalDragBtn.oriPos.x;
placeMc.y = originalDragBtn.oriPos.y;
// Afficher le bon texte
var bonneReponse:int = BON_MATCH[ iItem ];
var texte:String = DRAG_ITEMS[ bonneReponse - 1 ];
TextField( placeMc['field_text'] ).text = texte;
placeMc.gotoAndStop('bonne_reponse_affiche');
// Couleur bg
var ct:ColorTransform = new ColorTransform();
ct.color = COULEUR_CADRE_BONNE_REP;
MovieClip( placeMc['cadre_mc'] ).transform.colorTransform = ct;
}
}
// Le bouton validez a été survolé, effet grossissant
function _onRollOverValidezBtn( evt:MouseEvent ):void
{
var vue:MovieClip = evt.currentTarget as MovieClip;
vue.gotoAndStop('over');
}
// Le bouton validez quitte le survol, effet normal
function _onRollOutValidezBtn( evt:MouseEvent ):void
{
var vue:MovieClip = evt.currentTarget as MovieClip;
vue.gotoAndStop('off');
}