BASE SCOLL SUPER SIMPLE

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 27 janv. 2010 à 13:27
cs_pinacolada Messages postés 14 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 7 mars 2010 - 25 févr. 2010 à 22:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51193-base-scoll-super-simple

cs_pinacolada Messages postés 14 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 7 mars 2010
25 févr. 2010 à 22:50
Que c'est gai, un forum, le soir, au fond des codes...
Merci à Top30 pour ses tentatives (pas si inutiles, selon l'un de ces 98% de crétins silencieux - moi-) de donner des idées et non des recettes. Et j'aimerais un jour une explication plus longue, si possible, sur le n°5, qui m'intéresse fortement. Pour le n°4 je fais déjà...
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
27 janv. 2010 à 22:45
J'aime l'élégance de vos réponses. Les sources sont plus terribles mais au moins certaines personnes ont encore du savoir "vivre" ca fait plaisir.

1/ je l'ai appelé "proxy" quand réellement ce n'en n'est pas un. Comme tu le dis un véritable proxy doit comporter toutes les fonctions de lobjet qu'il proximise. Hors le mien ne repporte que l'usage cartésien. Je l'ai donc appelé proxy par "factilité" de mémorisation. Flash utilise plusieur "proxy" le plus connu étant l'objet "Loader": se comportant comme un DisplayObject sans en être un, de plus il implémente par ailleurs toutes les fonctions de l'interface "DisplayObject" qui paradoxe, est une classe et non une interface (voir avec Adobe).

2/ Oui c'est une idée à moi que d'utiliser se genre de "proxy" pour cet usage.

3/ J'ai créer cette source pour t'aider non pour les débutants. Ca demande trop de ressource comput.. humaine pardon ! C'est comme essayer d'expliquer la physique nucléaire à des pinguoins ! (Citation de Cameron :"House" pour ceux qui connaissent)

4/ C'est pas pour me vanter mais j'ai TOUT lu sur Flash, même le fameux "Design patern pour actionscript" et en español !!! J'en suis arriver à la conclusion que oui certaine pattern sont intéresante, mais que beaucoup d'autres restent à imaginer. Aprés des années de programmation en AS3, j'en suis arriver à un concept simple: TOUT objet possédant une valeur minimun, courrante et maximun doit passer par une facteurisation 1. Les "scrollbar" entrant dans cette idées. Mais le easing aussi par exemple. J'utlise une classe "Ease" de ma création qui ne connait absolument rien des objets qu'elle doit "easer". Tu lui entre une valeur entre o et 1 et elle te reourne le "easing" de ceci. Evitant ainsi le surcalcul si 541 objets demande un effect elastique ayant tous le mème "time" mais pas les mème valeurs de "begin" et de "change"... Le reste n'étant qu'une simple multiplication.

5/ Je n'ai mis aucun "évent" en interne dans mon exemple. Ce que je fait est que le PREMIER écouteur de l'objet n'est rien d'autre que lui même ! Pouvant ainsi si bon lui semble courciruiter la continuation du dispatching ou non. C'est le principe de "preventDefault" de certain composant.

6/ Oui c'est vrai que la sécheresse de certain post est dur, très dur ! Mais à 95% du temps justifier. Si tu ne tue ps l'oeuf dans la poule il finira pas te manger un fois grand !
Faut pas poster pour s'attendre à des : OOOH QUE C'EST BIEN, OOH QUE C'EST BEAU... L'humain ne sais pas faire ca !!! Par contre c'est vrai que peu de personne savent critiquer "neutre". C'està dire dire le coté positif d'une chose en même que certain aspect "négatif".
Beaucoup resteront sur l'idée qu'il ont été critiqué, et la première ou ils peuvent il te la rendent par 10 même si c'est pas justifier.
Mais surtout n'oubli pas que 98% des sources de ces deux dernières années son REELEMENT pathétique ! Mème certaine des miennes !!!!!

7/ Il faut que tu créer une classe "ScrollArea" qui elle sera chargée de scroller son contenu selon des valeurs passées: entre 0 et 1 si tu as tout compris à ce que je t'ai précédement décrit, pouvant ainsi, s'accoupler simplement et rapidement avec une "scrollBar" par l'intermédaire de simple écoute d'évènement....

8/ Des fois je m'épate !!! Mais si à 95% du temps je me hais !
Mais comme disent les español : NO TENGO ABUELA !

= )
A plus et profiter...
Twinspirit Messages postés 58 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 7 mai 2012
27 janv. 2010 à 18:55
Salut ! Je vois bien l'intérêt de la technique qui est en fait un Design Pattern appelé "Proxy". On externalise toutes les actions en direction de la cible dans une classe qui va servir de "pont" entre la partie "commande" et l'objet piloté.

Mes questions :
- Tu crée une scrollbar qui crée un Proxy. Mais ensuite, tu agis et lit sur le proxy au niveau supérieur. Ok c'est juste une démo, mais en pratique, il vaut mieux créer des accesseurs vers le proxy sur la scrollbar, non ? Comme ca on garde l'avantage du concept, et on "range" les capacités dans une seule classe.
- Si tu utilises la méthode scrollRect pour masquer la cible, tu la mettrais où ? Au niveau supérieur, ou dans le proxy ?
- Au niveau professionnel, est ce que le pattern Proxy est souvent utilisée en actionscript ? Est-ce la façon classique de faire pour une scrollbar, ou est-ce une idée à toi ?
- Sépare la classe de la Scrollbar, ce sera plus clair, quand même pour un débutant.

Des choses que je retiendrai de ceci :
- MVC, c'est bien, mais il faut essayer d'apprendre à penser différemment. Il doit y avoir des TONNES d'applications possibles pour ceci. Je vais rebosser mes patterns.
- Mettre la gestion des évènements en Internal, c'est mieux (je les laissai en externe, mais c'est bordélique, surtout pour un évènement par classe). J'adopte.

Pour finir, malheureusement, je reste critique sur la sècheresse de certaines réponses sur de nombreuses sources ici. Les critiques ne sont pas toujours constructives, et mal formulées, et surtout, on ne montre pratiquement jamais les points positifs des sources exposées.
On a souvent aussi l'impression d'un fort esprit de concurrence d'autres membres.
Il est fatal que tout cela mène à un appauvrissement des contributions : les gens pensent que cela leur fera mauvaise pub, et ils n'osent pas poster.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
27 janv. 2010 à 14:34
Je suis entièrement d'accord avec toi, sauf que là tu es vraiment trop haut pour la moyenne (qui est déjà trop basse ici). 98% des gens qui liront ta source ne vont rien y comprendre ... et donc aucun ne font piger l'idée.

Tant que les gens prendront flash comme un "puzzle" dont on enlève les pièces pour les re-combiner dans chercher à coder, ça ne passera pas.
C'est surtout pour ça que je vais m'orienter vers Java dans quelques mois pour une formation de 600h.

Mais je te rassure, j'ai compris ton idée ... sinon je n'aurais pas réagis ;)

Peg'
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
27 janv. 2010 à 14:09
Non c'est certe pas un composant "scrollbar".
C'est une base. Une partie du moteur de celle que j'ai créer et utilise.
C'est une source que j'ai faite cette nuit pour montrer au mec de la source précédente le chemin qu'il devrait suivre.

En fait le véritable intéret de cette source est le "ProxyHV" qui te permet de programmer de manière plus générale, sans se soucier de savoir si tu ultilises l'axe horizontale ou vertical. Cette tâche étant déléguer au "proxy".

C'est drôle car j'ai le sentiment dernièrement que ce que je fais n'ai pas compris pas grand monde. Ou je vais trop "loin" ou je vis sur une autre planète (ce qui est surement le cas).

Ce que tu dois comprendre c'est que la source "DemoProxyHV" n'est pas scindée (par exemple l'Event est interne au fichier). Comme je l'ai dis je l'ai faite cette nuit pour essayer de guider le mec, non pour lui mâcher le travail. Et comme tout est englober dans le constructeur, ceci enlève de la clairté à l'exemple.

Ce que tu dois comprendre Peg, c'est que dernièrement Flaskod c'est dur !!!
Durant des années je venais régulièrement ici, échangé des idées des source ou autres. Mais là par exemple tu es resté des semaines sans nouvelle entrées. Et quand il y en a c'est du vu et du revue... C'est triste, sans idée, en d'autre terme PAUVRE...
M frustration est d'autant plus grande que finalement lorsque tu essaie d'aider, de guider ou d'enseigner, tu te heurtes à mur d'ignorance.
Je ne te parle pas d'ingorance de language AS3, y a plein de gens comme toi, ou Twinspirit qui n'ont pas grand chose à apprendre à ce niveua, mais plus d'ignorance d'ouverture d'esprit. Le fait de ce dire: tiens oui c'est facon de voir n'est pas si mal.

Ma source était faite pour démonter que les "scrollbar" ne doivent pas connaître ce qu'elle scrollent. Je pensis qu'avec ce que j'avais fait, au moins les gens de ton "niveau" aurais comrpis le truc... rien de plus.

A plus et profiter...
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
27 janv. 2010 à 13:27
juste un petit truc : "scrollBar" c'est pour "scroller", or là tu nous as fait une "tirett" générale ...
Certe je pinaille, mais tout les types que tu gères : rectangle, blur, etc, n'ont pas vraiment lieu d'être dans une "scrollBar". Ou alors je n'ai pas saisis ce que tu veux faire avec.

Peg'
Rejoignez-nous