begin process at 2010 03 22 12:34:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > DIFFERENTES UTILISATIONS DE SHAREDOBJECT (COOKIE SOUS FLASH)

DIFFERENTES UTILISATIONS DE SHAREDOBJECT (COOKIE SOUS FLASH)


 Information sur la source

Note :
7,25 / 10 - par 4 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ActionScripts Niveau :Débutant Date de création :18/02/2004 Date de mise à jour :18/02/2004 18:14:01 Vu :9 351

Auteur : Prouprou_Sensei

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Salut tout le monde!
Je poste ce code car il me semble necessaire de connaitre l'utilisation de l'objet SharedObject de flash.
Il y a deux parties a la source: la premiére crée les clips et les champs de text necéssaires a l'execution du code de la deuxieme partie. Ce n'est pas la la plus importante partie du code mais c'est toujours interressant pour ceux qui ne connaissent pas trop action script, cependant cette partie n'est pas expliqué en details.
La deuxieme partie qui est plus courte est celle ou l'on s'occupe du SharedObject, en l'utilisant pour enregistrer des données textuelles ou des données de position d'un clip. Vous pouvez enregistrer toutes les sortes de donnés dans un sharedObject (comme la position de la tete de lecture d'une animation, des scores ou une position dans un jeu créé sous flash).

Il n'y a que du code. Faites copier coller sur un document flash vide.
Il faut donc fair "Tester l'animation" ou "exporter l'animation" pour constater les effets du code.


Il faut bien se rendre compte que le shared object est créé dans le disque dur du pc qui joue l'animation. Les données sont donc enregistré et peuvent étres appellés a tout moment.

Source

  • //-------
  • //-------------------------------- "Partie I : Création des élements"
  • //-------
  • // Création d'un textField Statique pour la case ou l'on rentre le nom
  • _root.createTextField("upname_txt", 6, 50, 30, 100, 20);
  • upname_txt.text = "Entrez votre Nom";
  • upname_txt.selectable = false;
  • //
  • // Création d'un textField Statique pour la case ou l'on rentre le pass
  • _root.createTextField("uppass_txt", 7, 200, 30, 100, 20);
  • uppass_txt.text = "Entrez votre pass";
  • uppass_txt.selectable = false;
  • //
  • // Création d'un textField de saisie pour le nom
  • _root.createTextField("name_txt", 1, 50, 50, 100, 20);
  • name_txt.type = "input";
  • name_txt.border = true;
  • //
  • // Création d'un textField de saisie pour le pass
  • _root.createTextField("pass_txt", 2, 200, 50, 100, 20);
  • pass_txt.type = "input";
  • pass_txt.border = true;
  • //
  • // Création d'une case de validation
  • _root.createEmptyMovieClip("go_mc", 3);
  • with (go_mc) {
  • moveTo(350, 50);
  • lineStyle(1, 0x000000, 100);
  • beginFill(0x000000, 70);
  • lineTo(350, 70);
  • lineTo(370, 70);
  • lineTo(370, 50);
  • lineTo(350, 50);
  • endFill();
  • }
  • //
  • // Création d'un TextField contenant le mot enregistrer
  • _root.createTextField("go_txt", 8, 375, 50, 100, 20);
  • go_txt.text = "Enregistrer";
  • go_txt.selectable = false;
  • //
  • // Création d'une case de verification
  • _root.createEmptyMovieClip("verif_mc", 4);
  • with (verif_mc) {
  • moveTo(350, 80);
  • lineStyle(1, 0x0000FF, 100);
  • beginFill(0x0000ff, 70);
  • lineTo(350, 100);
  • lineTo(370, 100);
  • lineTo(370, 80);
  • lineTo(350, 80);
  • endFill();
  • }
  • //
  • // Création d'un TextField contenant le mot verifier
  • _root.createTextField("verif_txt", 9, 375, 80, 100, 20);
  • verif_txt.text = "Verifier";
  • verif_txt.selectable = false;
  • //
  • // Création d'un clip déplacable.
  • _root.createEmptyMovieClip("boule_mc", 5);
  • with (boule_mc) {
  • lineStyle(1, 0x000000, 100);
  • beginFill(0x00ff00, 100);
  • moveTo(0, 0);
  • curveTo(-10, 0, -10, 10);
  • curveTo(-10, 20, 0, 20);
  • curveTo(10, 20, 10, 10);
  • curveTo(10, 0, 0, 0);
  • }
  • //-------
  • //-------------------------------- "Partie II : Utilisation du shared object"
  • //-------
  • // Déclaration du sharedObject
  • login_so = SharedObject.getLocal("login");
  • // Quand on clique sur go_mc
  • go_mc.onRelease = function() {
  • // Affectation des variables
  • name = name_txt.text;
  • pass = pass_txt.text;
  • // Affectation des varibles dans le sharedObject
  • login_so.data.name = name;
  • login_so.data.pass = pass;
  • // Et on enregistre
  • login_so.flush();
  • };
  • // Quand on clique sur verif_mc
  • verif_mc.onRelease = function() {
  • // les champs de textes name_txt et pass_txt prennent les valeurs de login_so.data.name et de login_so.data.pass
  • name_txt.text = login_so.data.name;
  • pass_txt.text = login_so.data.pass;
  • };
  • // Si login_so.data.xboule n'est pas défini, on place la boule
  • if (login_so.data.xboule == "undefined") {
  • boule_mc._x = boule_mc._y=300;
  • } else {
  • boule_mc._x = login_so.data.xboule;
  • boule_mc._y = login_so.data.yboule;
  • }
  • // Deplacement de boule_mc lorsque l'on clique dessus mais que l'on ne relache pas la souris
  • boule_mc.onPress = function() {
  • startDrag(this);
  • };
  • // Quand on relache la souris
  • boule_mc.onRelease = function() {
  • // la variable xboule du Shared Object = le x de boule_mc
  • login_so.data.xboule = boule_mc._x;
  • // la variable yboule du Shared Object = le y de boule_mc
  • login_so.data.yboule = boule_mc._y;
  • // on enregistre tout ca
  • login_so.flush();
  • // et on arrete de deplacer le clip
  • stopDrag();
  • };
  • /*Les methodes/propriétées de SharedObject:
  • getLocal() --> Ouvre un ShareObject (ou le crée si il n'y en a pas)
  • data --> tous les attributs de data sont enregistré dans le sharedObjet
  • flush() --> Enregistre le l'object sur le pc
  • clear() --> supprime l'objet du disque
  • getSize() --> donne la taille de l'objet */
//-------
//-------------------------------- "Partie I : Création des élements"
//-------
// Création d'un textField Statique pour la case ou l'on rentre le nom
_root.createTextField("upname_txt", 6, 50, 30, 100, 20);
upname_txt.text = "Entrez votre Nom";
upname_txt.selectable = false;
//
// Création d'un textField Statique pour la case ou l'on rentre le pass
_root.createTextField("uppass_txt", 7, 200, 30, 100, 20);
uppass_txt.text = "Entrez votre pass";
uppass_txt.selectable = false;
//
// Création d'un textField de saisie pour le nom
_root.createTextField("name_txt", 1, 50, 50, 100, 20);
name_txt.type = "input";
name_txt.border = true;
//
// Création d'un textField de saisie pour le pass
_root.createTextField("pass_txt", 2, 200, 50, 100, 20);
pass_txt.type = "input";
pass_txt.border = true;
//
// Création d'une case de validation
_root.createEmptyMovieClip("go_mc", 3);
with (go_mc) {
	moveTo(350, 50);
	lineStyle(1, 0x000000, 100);
	beginFill(0x000000, 70);
	lineTo(350, 70);
	lineTo(370, 70);
	lineTo(370, 50);
	lineTo(350, 50);
	endFill();
}
//
// Création d'un TextField contenant le mot enregistrer
_root.createTextField("go_txt", 8, 375, 50, 100, 20);
go_txt.text = "Enregistrer";
go_txt.selectable = false;
//
// Création d'une case de verification
_root.createEmptyMovieClip("verif_mc", 4);
with (verif_mc) {
	moveTo(350, 80);
	lineStyle(1, 0x0000FF, 100);
	beginFill(0x0000ff, 70);
	lineTo(350, 100);
	lineTo(370, 100);
	lineTo(370, 80);
	lineTo(350, 80);
	endFill();
}
//
// Création d'un TextField contenant le mot verifier
_root.createTextField("verif_txt", 9, 375, 80, 100, 20);
verif_txt.text = "Verifier";
verif_txt.selectable = false;
//
// Création d'un clip déplacable.
_root.createEmptyMovieClip("boule_mc", 5);
with (boule_mc) {
	lineStyle(1, 0x000000, 100);
	beginFill(0x00ff00, 100);
	moveTo(0, 0);
	curveTo(-10, 0, -10, 10);
	curveTo(-10, 20, 0, 20);
	curveTo(10, 20, 10, 10);
	curveTo(10, 0, 0, 0);
}
//-------
//-------------------------------- "Partie II : Utilisation du shared object"
//-------
// Déclaration du sharedObject
login_so = SharedObject.getLocal("login");
// Quand on clique sur go_mc
go_mc.onRelease = function() {
	// Affectation des variables
	name = name_txt.text;
	pass = pass_txt.text;
	// Affectation des varibles dans le sharedObject
	login_so.data.name = name;
	login_so.data.pass = pass;
	// Et on enregistre
	login_so.flush();
};
// Quand on clique sur verif_mc
verif_mc.onRelease = function() {
	// les champs de textes name_txt et pass_txt prennent les valeurs de login_so.data.name et de login_so.data.pass
	name_txt.text = login_so.data.name;
	pass_txt.text = login_so.data.pass;
};
// Si login_so.data.xboule n'est pas défini, on place la boule
if (login_so.data.xboule == "undefined") {
	boule_mc._x = boule_mc._y=300;
} else {
	boule_mc._x = login_so.data.xboule;
	boule_mc._y = login_so.data.yboule;
}
// Deplacement de boule_mc lorsque l'on clique dessus mais que l'on ne relache pas la souris
boule_mc.onPress = function() {
	startDrag(this);
};
// Quand on relache la souris
boule_mc.onRelease = function() {
	// la variable xboule du Shared Object = le x de boule_mc
	login_so.data.xboule = boule_mc._x;
	// la variable yboule du Shared Object = le y de boule_mc
	login_so.data.yboule = boule_mc._y;
	// on enregistre tout ca
	login_so.flush();
	// et on arrete de deplacer le clip
	stopDrag();
};
/*Les methodes/propriétées de SharedObject:
getLocal() --> Ouvre un ShareObject (ou le crée si il n'y en a pas)
data --> tous les attributs de data sont enregistré dans le sharedObjet
flush() --> Enregistre le l'object sur le pc
clear() --> supprime l'objet du disque
getSize() --> donne la taille de l'objet */

 Conclusion

Merci.


 Sources du même auteur

Source avec Zip Source avec une capture [FLASH 8] CLASSE BITMAPDATA (GESTION DES CLIP AU NIVEAU DU P...
Source avec Zip CHAT EN FLASH AVEC SOCKETSERVER (OREGANO) ET FONCTION CRYPTA...
Source avec Zip Source avec une capture NEWS MAKER -- GUESTBOOK (LIVRE D'OR) EN FLASH/PHP/MYSQL OU X...
Source avec Zip PRELOADER POUR JPEG AVEC REDIMENSIONNEMENT ET CENTRAGE [MX20...
Source avec Zip Source avec une capture BASE D'UN BEAT'EM ALL [AEROFIGHTER] AVEC CLASSES AS2 (MX2004...

 Sources de la même categorie

Source avec Zip Source avec une capture LANCER UNE GALERIE LIGHTBOX À PARTIR D'UN FLASH par beladom
Source avec Zip SUPER TWEEN PACKAGE par Acidchlorhydrik
Source avec Zip NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture TWSCROLLBAR, UNE CLASSE DE SCROLLBAR SIMPLE ET PRATIQUE À UT... par Twinspirit
Source avec Zip Source avec une capture REBOND DE BALLON AVEC TWEEN par habibcode

Commentaires et avis

Commentaire de AtomPouce le 18/02/2004 18:26:56

C vrai que C super interessant et pas bcp utiliser ! pour ma part je les utilise pour la sauvegarde dans un jeu , C bien pratique pour connaitre : l endroit du perso , sa vie ,son nivo ses armes etc .... et ce ki est encore plus pratik, C que tout cela est codé ...je m explik : si on fouille bien son PC on fini par trouver son petit cookie créé par shared object , et dednas les données ne sont as ecrite clairement , mai en braille (lol en gros C codé)Donc pas de petit tricheur qui se mettent au nivo 235 avec le super-bazooka-ki-tue-tout-a-lecran !alors qu il est au debut du jeu ...
l inconvenient est que a mes souvenirs je croi kon ne pouvai pas sortir un array ...dommage ....

Commentaire de afad le 19/02/2004 17:24:07

Sans reprendre les citations au combien pertinente de TOP30 ;) ça c'est une SOURCE !  BW en avait écrit la base, c'est sympa à toi de le complêter, et c'est utile du débutant jusqu'au crack ;)

A+
aFaD

Commentaire de Prouprou_Sensei le 19/02/2004 18:55:18

On voit parfois des codeurs qui se prénnent la tete pour ecrir une petite variable sur un fichier texte en utilisant le php ou les bases de donnés etc... Certes le sharedObject disparait lors du formatage du disque dur du pc client mais c'est si simple d'utilisation et si fléxible ! En plus on reste sous flash...
Moi j'adore

Commentaire de cherio le 02/03/2004 14:40:06

je vais juste rajouter un petit truc qui permet de verifier si l'utilisateur a autorisé les SharedObjects sur son HDD, et lui proposer de le faire si ça n'est pas le cas :
login_so = SharedObject.getLocal("login");
go_mc.onRelease = function(){
if(!login_so.flush(1)){/*verifie qu'on peut enregistrer au moins 1 byte*/
System.showSettings(1);/*ouvre la fenetre de parametres sur le 2eme onglet*/
}
}

no²

Commentaire de gouroutin le 08/06/2004 17:18:03

merci et bravo pour ce très bon tutorial. le seul souci, c'est que la methode clear() ne marche pas chez moi. savez-vous pourquoi ?

Commentaire de benson_g le 12/02/2006 12:54:15

Je suis comme GOUROUTIN, la methode clear() s'avère inactive chez moi.

My_best = SharedObject.getLocal("etapes");
My_best.clear();

ne fonctionne pas...

Quelqu'un l'a-t-il utilisée avec succès et peut-il fournir sa source ?

Commentaire de lotistofou le 26/04/2007 11:01:13

clear() sert juste à vider le sharedObject, pas à le supprimer du disque, c'est p-e ça ton problème :)

Commentaire de dimebagplan le 29/08/2007 17:16:40

Enorme ! je suis en train de faire un jeu en flash et je me demandais justement comment j'allais pouvoir sauvegarder une partie !
Je pensai que j'allais avoir recours a du php etc... avant même d'avoir commencer, ça me soulais déja. lol.

Très simpas ce shared object et ce tutorial bien expliquer :).
@+

Commentaire de HackTh3mAll le 03/03/2008 15:47:04

Bonjour.......
j'aurai bezoin d'un petit coup de main les gars

j'utilise les shared objects depuis lgtmp(le mec ki se vente....)
le pb C ke G une autre page en flash ki aurait bezoin d'avoir acces au meme cookie......et le pb est k'il n'y accéde pas.
.............................................................
en fait pour etre precis, quand je compil le swf et ke je suis toujour sous adobe il reconnait les sharedObjects,mais quand je lance ma page web avec la frame flashe...PAN il ne reconnait plus les objet(shaared)....
merci de votre aide. :o)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales