Classe info bulle

Soyez le premier à donner votre avis sur cette source.

Vue 19 621 fois - Téléchargée 3 134 fois

Description

Version 1.6.1

Source / Exemple :


Object.prototype.loadBubleHelp_api = function(level, delay, bubleHelpText) {
	function BubleHelp_api(level, delay, bubleHelpText) {
		this.level = level;
		this.delay = delay;
		this.bubleHelpText = bubleHelpText;
		Object.prototype.unloadBubleHelp_api = function() {
                                clearInterval(BubleHelp_api.callback);
			_root.bubleHelp_txt.removeTextField();
		};
	}
	BubleHelp_api.getActualTime = getTimer();
	BubleHelp_api.callback = setInterval(function () {
		if (getTimer()>(BubleHelp_api.getActualTime+delay)) {
			BubleHelp_api.setBubleHelpTool();
			clearInterval(BubleHelp_api.callback);
		}
	}, delay-1);
	BubleHelp_api.getBubleHelpTool = function() {
		BubleHelp_api.callback;
	};
	BubleHelp_api.setBubleHelpTool = function() {
		BubleHelp_api.createBubleHelpString();
	};
	BubleHelp_api.createBubleHelpString = function() {
		_root.createTextField("bubleHelp_txt", level, _root._xmouse+20, _root._ymouse+20, 0, 0);
		_root.bubleHelp_txt.selectable = false;
		_root.bubleHelp_txt.text = bubleHelpText;
		bubleHelp_fmt = new TextFormat();
		bubleHelp_fmt .font = "Arial";
		bubleHelp_fmt .size = 10;
		_root.bubleHelp_txt.setTextFormat(bubleHelp_fmt );
		_root.bubleHelp_txt.autoSize = "left";
		_root.bubleHelp_txt.border = true;
		_root.bubleHelp_txt.background = true;
		_root.bubleHelp_txt.backgroundColor = 0xFFFFCC;
	};
	BubleHelp_api.getBubleHelpTool();
	BubleHelpTool = new BubleHelp_api(level, delay, bubleHelpText);
};

Conclusion :


donc voilà la vesion finale.

en fait, je me suis dit que l'idéal était de ne laisser qu'un minimum d'accès aux classes.
aussi, je pense que c'est plutot une bonne idée de se servir des composants pour encapsuler les classes et de les glisser sur la scene (comme des clips d'ammorçage).

le faite de définir les fonctions d'appel sur la classe la plus élevée (objet) me parait être extrement pratique.

vous aurez remarqué l'extension api.

en fait, pour les codeurs, je préconise de glisser la classe sur la scène et d'utiliser la fonction d'appel
on (rollOver) {
loadBubleHelp_api(0, 500, "Sample text");
}
on (rollOut, press) {
unloadBubleHelp_api();
}
directement sur les boutons.

pour les autres, il suffit de glisser SetBubleHelp_api sur les clips ou les boutons, puis de parametrer. (d'ou l'extension récurente _api)

@+ et bon code à tous

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
337
Date d'inscription
vendredi 15 octobre 2004
Statut
Membre
Dernière intervention
2 novembre 2010

jai rien compris,
mais "loadBubleHelp_api [type Function]" m'indique que tu boucle sur _root (ou sur _global*) à un moment ou à un autre.

* c'est trop ancien pour que je me souvienne de l'implémentation.
Messages postés
2
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
25 janvier 2007

Je precise que je travaille avec des tableaux associatif parcouru par for(var ... in ...)

En fait je pense que c'est en s'attaquant directement au prototype que cela pose un problème.
Messages postés
2
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
25 janvier 2007

Quand j'ajoute le composant à ma scene et que j'affiche tous les éléments d'un Array
j'ai cela qui apparait comme premier élément:

loadBubleHelp_api [type Function]

Ce qui n'est pas trés cool vu que tout les tableaux se retrouve avec un élément indésirable. Une idée d'où cela vient?

Merci
Messages postés
4
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
24 avril 2009

Désolé pour cette question stupide (je débute) ! Je viens de trouver !!! Il s'agit de ne pas oublier d'ouvrir l'inspecteur de composants !
Messages postés
4
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
24 avril 2009

Bonjour,

Je me suis servi des composants présents dans le fla. Mais je n'arrive pas à modifier le texte qui s'affiche dans l'infobulle.
J'ai remplacé "sample text" par "mon texte" dans les lignes suivantes.
on (rollOver) {
loadBubleHelp_api(0, 500, "Sample text");
}
on (rollOut, press) {
unloadBubleHelp_api();
}
Mais ça ne fonctionne pas : c'est "sample text" qui continue de s'afficher. J'aimerai savoir où saisir le texte que souhaite voir apparaître.

Merci.
Afficher les 33 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.