begin process at 2010 02 10 08:47:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants Flash MX

 > CLASSE INFO BULLE

CLASSE INFO BULLE


 Information sur la source

Note :
9,4 / 10 - par 5 personnes
9,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Composants Flash MX Niveau :Expert Date de création :07/04/2005 Date de mise à jour :11/05/2005 10:19:04 Vu / téléchargé :15 655 / 2 828

Auteur : BananaTree

Ecrire un message privé
Site perso
Commentaire sur cette source (33)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Version 1.6.1

Source

  • 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);
  • };
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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   mxp
    • BubleHelp_api.mxpTélécharger ce fichier [Réservé aux membres club]45 286 octets
    • SetBubleHelp_api.mxpTélécharger ce fichier [Réservé aux membres club]44 880 octets
  • exemple.flaTélécharger ce fichier [Réservé aux membres club]60 928 octets
  • exemple.swfTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 178 octets

Télécharger le zip


 Historique

08 avril 2005 10:43:54 :
:-p désolé, machinalement, j'ai défini les méthodes sur une occurence de classe ! erreur grotesque, mais corrigée.
10 avril 2005 14:31:10 :
modification du gestionaire d'évenement. (je l'ai mis en statique sion on comprenait plus rien au code).
10 avril 2005 15:18:08 :
 
10 avril 2005 15:40:24 :
 
11 avril 2005 15:10:57 :
ajout des composants
15 avril 2005 01:16:55 :
 
06 mai 2005 10:52:07 :
- ajout de 2 GUI - ajout d'un parametre width : augmente la souplesse du composant en permetant d'utiliser l'option multiligne.
11 mai 2005 10:19:04 :
bug fix = suppression de la méthode de rappel lors de l'invocation de unloadBubleHelp_api(); //--- alignement du texte à gauche (comme sous windows).

 Sources du même auteur

Source avec Zip SPAS 3.0 ALPHA 1 RELEASE DISPONIBLE
Source avec Zip TUTORIAL SWING PACKAGE FOR ACTIONSCRIPT (SPAS) : LES BASES
Source avec Zip EFFET ELASTIQUE SUR DES FENÊTRES
Source avec Zip Source avec une capture CLASSE CALCULATOR
CLASSE GETTERSETTER DYNAMIQUE

 Sources de la même categorie

Source avec Zip CLIP BUTTON par mymy33
Source avec Zip Source avec une capture DEFILEMEDIA : COMPOSANT AS3 DE GESTION DE GALERIE DE MEDIA +... par tomboul
Source avec Zip Source avec une capture FORMULAIRE MAILEUR MULTIADRESSE -- FLASH=>PHP=>FLASH -- CONS... par tofstude2
Source avec Zip Source avec une capture LE FILEREFERENCELIST (OU COMMENT UPLOADER UN LOT D'IMAGE), C... par mankinder
Source avec Zip Source avec une capture TALKING WATCH par klamrani

Commentaires et avis

Commentaire de Mafassure le 08/04/2005 20:20:14 administrateur CS

ouaw, j'adore
je regrette l'absence de commentaires dans le code ...

Pourquoi un delay ?

Commentaire de Mafassure le 08/04/2005 20:41:18 administrateur CS

Fait pas gaffe banana....
Plus c'est paramétrable mieux c'est après tout !

Commentaire de BananaTree le 09/04/2005 11:29:07

hello maf,

en fait concernant delay et level, c'est que je préconise plutôt de parametrer la méthode loadBubleHelp_api ainsi :
loadBubleHelp_api (_global.maxLevel, _global.delay, "Sample text")

pour les coms, j'ai utilisé comme base les termes présents dans as (createBubleHelpMovieClip, etc...) donc je ne pense pas qu'un commentaire soit utilie, d'autant que ce n'est pas un tuto, mais une modeste source.

par contre là ou j'ai du te surprendre, c'est que tout est en ..... (haa !!! j'ai du mal à le dire)...................
...............
en englais !

désolé ! mais ça correspond à ce que j'avais en tete lorsque j'ai fait le code. (ce dernier etant un test pour un autre projet plus interressant).

si j'avais mis des coms, ceux-ci aussi auraient été en anglais, je vous ai donc épargné cela ;-)

Commentaire de SuperDevy le 09/04/2005 23:04:44

Déjà, ça marche nickel. C'est un bon point.

Au niveau de la performence, l'utilisation de setInterval aurrait été une bonne idée pour le délai d'affichage. Peut-être voir ma source à ce sujet ?
http://www.flashkod.com/code.aspx?ID=30222

Pour adapter la dimention du TextField à son contenu, il faut que tu supprimes la propriété wordWrap.
Peut-être voir ma source à ce sujet ?
http://www.flashkod.com/code.aspx?ID=13811

Aussi, tu utilises des noms trop long. C 'est pas très lisible.

Je conprend pas pourquoi tu as créé un MovieClip ...





Commentaire de SuperDevy le 09/04/2005 23:08:03

Juste en passant, c'est la propriété wordWrap qui fait foirer le autoSize.

Commentaire de BananaTree le 10/04/2005 00:37:57

hello superdavy,

bizarement ta première et ta dernière remarque son liées.  en effet, j'ai créé le movieclip pour gérer l'événement de rappel. (c'était plus rapide) toutefois, ça me parait plus logique (moins de lignes de code et plus poo) d'utiliser set interval. finalement pourquoi ne pas faire une source corecte, et du coup ,exit le movieclip.

bonne idée.

je vais pas zieuter ta source pour le faire, vu que ce truc marche très bien : if (getTimer()>(BubleHelp_api.getActualTime+delay))

pour createBubleHelpString , j'ai bien peur que ce soit plus compliqué qu'une simple histoire d'autosize.

tout le pb vien du fait qu'on est sacrément  limité niveau polices à taille fixe.
en plus, faudrait vraiment que je teste sur mac pour me faire une idée. là pour le moment, c'est le meilleur compromis entre des trucs du genre "WWW.BlaBla.COM"
et "oui" ou bien "non" ou encore "exemple d'utilisation de __proto__" (enfin je pense).

mais si quelqu'un à une idée pas trop gourmande et pas trop lourde pour que ça marche, il est le bienvenu.

si tu permet superdevy, je voudrais te contacter par le mail de flashkod.

@+ et bon code



Commentaire de BananaTree le 10/04/2005 13:49:24

une petite suggesttion que m'a envoyé SuperDevy :

"Supprime cette ligne :
bubleHelp_txt.wordWrap = true;

et modifie cette ligne :
bubleHelp_txt.autoSize = "left";

Tu auras un bon redimentionnement"

pour la prochaine mise à jour.

Commentaire de BananaTree le 10/04/2005 14:32:43

bon ben voilà, on à abandoné le multiligne (sic)
c'est marrant, j'avais pas vu ça :
http://www.flashkod.com/code.aspx?ID=13811

@+ et bon code

Commentaire de jycs le 09/10/2005 14:47:26

Super :)

Commentaire de Plasticman38 le 27/10/2005 19:06:20

g pa compris, questcequi faut modifier??? bubble_help.txt??? mais ou il ce trouve???

Commentaire de zen_laden le 31/10/2005 13:55:30

Alors c super mortel mais :
Comment faire pour changer le nom de la target svp


En faite ce que je veu faire c'est exactement ca :
on (rollOver) {
loadBubleHelp_api(0, 500, "Sample text");
}
on (rollOut, press) {
unloadBubleHelp_api();
}
directement sur les boutons.

Mais si tu pouvais m'aider juste un peu pour pouvoir l'utiliser
Parce que la j'ariv juste a copier-coller ton composant mais le nom rest par exemple mc dans ton exemple comment lui assigner un autre élément stp :)

Mais comment on parametre ca ?
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)

A l'ocaz si il y a une source mise a jour je suis preneur !

En tout k ca c'est vraiment du super boulot avec le petit tableau que l'on rempli et qui fait tout ou presk.
J'avou etre un new b et je ne connaissait pas des composants aussi pousser merci les gars je vais my coller c sur...

Commentaire de BananaTree le 31/10/2005 15:16:30

slt,

ben le plus simple, c d'oublier cette source et d'utiliser sa "grande soeur", la classe BoxHelp sur :
http://www.flashapi.org

bon code,
@+

pascal

Commentaire de zen_laden le 31/10/2005 17:25:35

ok merci mais je ne la trouve pas en download c normal ?
c bien la :

BoxHelp class

Current version : 4.1.1b
Last update : Aug, 25th 2005

il est ou le link stp ?

Commentaire de BananaTree le 01/11/2005 11:42:45

télécharge le package dans la partie download (première page)

Commentaire de zen_laden le 01/11/2005 14:42:15

yes merci (desol jaurai put plus chercher un peu plus)
Par contre la je vais te parler de ton pack :

Alors aparement c trop mortel mais :

En tan que newb on flash (1an et demi en autoditdacte) moi et mes amis voila ce qu'on en pense :

C un truc de ouf ...si on ariv a l'utiliser !!!

C vraiment domage ton package a des fonctions qui tue mais en faite on peut pas les utiliser y a pas de notice pas d'aide rien genre bublehlp concretement jouvre un Action script de bourrin et c tout on en fait koi ? ... ta premiere source sembler plus simple a utiliser apres c peu etre pas moi et mes potes ki avons pas le niveau pour pouvoir sen servir alors c que l'on dit la c'est juste notre avis.

Je critique pas ton taf au contraire je  le respect au plus o point ( like ubuntu spirit http://www.ubuntu-fr.org/) c pour ca que je t'ecri ce paver genre on a kifé mais on aimerai bien pouvoir l'utiliser...

y a pas de notice té codes sont super poussé des icones ke lon a jamais vu bref ici on y pipe ke dal et c vraiment domage
( concretement prendre le temps de comprendre ton code c un peu comme allez a katmandou a pied surtout pour mettre une simple bulle d'aide a la baz)...

Alors je me permet quelques questions :
C koi l'api exactement ?
Pourquoi tout est en anglais et pas un mots en fr ?
Je t'avou que les icone .as je n'en avais jamais vu avant ...alors on en fait koi concretement ?
La source api que tu avais filer c exelent car c simple genre petite interface jaune dedans on est tous rester clacher ( a toulouse :) ) mais la tu file des codes en vrac  c domage sauf pour un devellopeur donc c perd un peu de son utilité j'ai fait tourner ton link à des amis en me disant que c'etait ma faute si je n arive a rien en sortir...j'aurai donc d'autre retour a te donner.

Enfin si ton package est la pour les gens comme moi c delicat je te l'avoue si c pour des advanced devellopeur c un peu domage pour les autres ...

Sache que dans notre coin on essaye de capter le delir genre rien que l'instal est exelente mais on galere grave alors si ca vien de nous dit le (genre ask google befor asking dumb question.)sinon AIDE nous stp :)

et au faite merci de repondre aussi vite a chaque fois :)

Nico

Commentaire de BananaTree le 01/11/2005 14:54:49

sur la timeline :
import org.flashapi.swing.BoxHelp;
BoxHelp.initClass();
------------------------------------
sur n'importe quel bouton :
on (rollOver) {
BoxHelp.loadBox("Sample text");
}
on (rollOut, press) {
BoxHelp.unloadBox();
}
-----------------------------------------
Cette classe est la plus simple du package. Pour les autres, il faut effectivement parler anglais et être familier de la livedoc de macromedia.

Commentaire de zen_laden le 01/11/2005 18:24:12

on a galerer une heure ou deux et desoler mais on en sort rien...
Quand on ouvre le fichier il  ouvre une page avec que de l'as on en fait koi ? j'ai tester de le recoller sur un autre document et sur divers objet clip bouton...c sur que as toi cela doit te paraitre simple mais ...pour nous cela semble impossible ...

Tu dit
sur la timeline :
//Laquelle ?
import org.flashapi.swing.BoxHelp;
BoxHelp.initClass();
//coment on fait pour l'importer ?On a essayer par
//ouvrir/importer et copier coller du code sur bouton et clip
on (rollOver) {
BoxHelp.loadBox("Sample text");
}
//Oui je capte comme dans la source que tu filer a la base quand y a tout dedans mais la...
Cette classe est la plus simple du package. Pour les autres, il faut effectivement parler anglais et être familier de la livedoc de macromedia.
//Elles s'adresses donc a des devellopeur avec high skill parce que deja pour mettre une simple bulle d'aide c le combat quand meme.

Nico

Commentaire de zen_laden le 01/11/2005 23:20:26

Au faite la je lache un peu l'affaire je croi ke c'est trop complex  à utiliser pour moi ton truc

(domage avec les effort que tu as fournis pour le faire ...je preferer meme ta source du debut domage que l'on ne puisse pas changer le nom de l'element sur lequelle on veut l'apliker genre ta source march (a mon niveau)si l'on utilise té elements avec té noms dans notre anim ...lol)

Alors je file une source bien plus simple pour les gens comme moi qui on juste besoin de mettre quatre infos bulles sur un site .

Elle est la : http://www.flashkod.com/code.aspx?ID=34443

Evidement c en atendant de trouver mieux ou que banana nous simplifie son package.

(Comme je lui dit a mon avis cela ne sert a rien de faire du code pour du code et si son pack s'adress a des devellopeurs ultra puissants cela reduit considerablement la porter de son swingpack .)

...nico

Commentaire de zen_laden le 02/11/2005 16:44:47

putain je suis desole j'ai repris ta source du debut cel du haut et bien vraiment c la blague je suis honteux n faite il suffisait de ne pas copier coller avec Altgr mais de faire glisser deposer de la bibliotheque sur un element et le nom ce met en automatique putain c'etait si simple ...en tout k cela ma mis le nez dans les api et truc du genre je t'en remercie .
Jai essayer de dechifrer le code ben c pas evident...
Ta source du package swing c domage kil ny ai plus l'interface mais bon...MERCI merci et merci encore

Commentaire de jaco2 le 09/12/2005 12:24:38

Merci, très bien pour moi qui débute (1 semaine de prise de tête).

J'ai préféré mettre çà sur un MovieClip, ce qui permet de faire suivre la souris par le texte en ajoutant

onClipEvent(mouseMove) {
_root.bubleHelp_txt._x=_xmouse+20;
_root.bubleHelp_txt._y=_ymouse+20;
updateAfterEvent();
}

Commentaire de Kreatif le 22/06/2006 17:22:00

salut,

moi j'aurais juste une question, à savoir comment on change ton texte qui est : "sample text" ? (et ou je le trouve pour le changer)

MERCI

Commentaire de BananaTree le 22/06/2006 18:00:31

ça fait longtemps, mais si je me rappelle bien, tu dois avoir un onglet texte dans l'inspecteur de composants.

Commentaire de Kreatif le 22/06/2006 18:07:00

YES !!!

Merci, sinon j'auraos jamais trouvé ! Jez ne savais même pas qu'il y avais cette case "inspecteur de composants lol"

Mais dis mois, cette facon de faire pour faire apparaitre du texte en survole d'un bouton est la plus simple ? La moins lourde question poids rajouté dans le fla ?

>> Si tu as une autre solution plus simple, plus légère, dis le moi. MERCI

>>> et merci de ta réponse aussi rapide.

Commentaire de BananaTree le 22/06/2006 18:25:13

ben tu vas sur http://www.flashapi.org,
tu télécharges le package, tu fais un classpath (ou tu mets le package à la racine de ton fla, et tu tapes dans la timeline:

import org.flashapi.swing.*;
my_mc.onRollOver = function() {
BoxHelp.display("Mon texte");
}
my_mc.onRollOut = function() {
BoxHelp.remove();
}

Commentaire de Kreatif le 22/06/2006 18:29:30

yép ! merci de l'info. Encore une dernière tite question, est-ce que dans ton zip, on peu changer la couleur du texte ? (car il est noir, et je ne trouve pas comment)

>> Car j'ai vu que c'étais possible de changer le fond.
>> MERCI

Commentaire de BananaTree le 22/06/2006 18:36:24

BoxHelp.textColor (0xRRGGBB : Number) : Void;

BoxHelp.backgroundColor (0xRRGGBB : Number) : Void;

Commentaire de titvieux le 20/07/2006 23:29:29

hello !
Super BananaTree !!
Merci pour code qui marche trop bien !! Et trés facile à mettre en place ...
Par contre est t'il possible d'inclure un alpha sur le background ... ??
j'ai essayé: _root.bubleHelp_txt.background._alpha = 50;
Et aucun résultat .... Bon c'est vrai ... suis plus que novice ... ;o(
Une petite aide serait bienvenue ;o) !!!
Merci !!!

Commentaire de Titi035 le 10/10/2006 00:02:56

Merci. C'est super ce code!

Pour l'appel de l'api, moi je l'utilise comme ça :
loadBubleHelp_api(getNextHighestDepth(), 0, "Sample text");

bye!

Commentaire de missulie le 06/01/2007 11:32:52

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.

Commentaire de missulie le 06/01/2007 11:46:21

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 !

Commentaire de Register5 le 25/01/2007 10:59:32

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

Commentaire de Register5 le 25/01/2007 11:23:30

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.

Commentaire de BananaTree le 25/01/2007 12:54:49

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.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,140 sec (4)

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