begin process at 2012 05 27 07:51:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Multimédia

 > 

Effets

 > 

Drag & Drop perfectionné


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Drag & Drop perfectionné

vendredi 8 octobre 2010 à 16:12:59 | Drag & Drop perfectionné

siu

Bonjour à tous,

Je voudrais faire un site constitué de :

1- un fond qui comprend une carte du monde : elle est visible partiellement, se déplace (interpolation classique) et est manipulable par l'internaute de manière à ce qu'il puisse se déplacer dedans (drag&drop).

2- sur cette carte se trouvent des vignettes cliquables qui donnent lieu à leur agrandissement (lien vers une autre image du scénario) - les vignettes doivent aussi suivre le mouvement de la carte...

Les premières étapes de ce scénario sont réussies, excepté le fait d'accrocher les vignettes à la carte : lorsque l'internaute 'drag&drop' la carte, il faudrait que les vignettes suivent le mouvement de la carte, de manière à ce qu'elles se trouvent toujours sur le même endroit de la carte...

Ci-dessous le code (qui ne fonctionne pas...)

map_mc = nom de la carte
frida_mc = nom d ela vignette

Code ActionScript :
stop()
 
map_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragArea);
map_mc.addEventListener(MouseEvent.MOUSE_UP, dropArea);
 
function dragArea(e:MouseEvent):void{
    var bounds:Rectangle = new Rectangle(
                                stage.stageWidth - map_mc.width,
                                stage.stageHeight - map_mc.height,
                                map_mc.width - stage.stageWidth,
                                map_mc.height - stage.stageHeight
                           &nbsp:wink:;
    map_mc.startDrag(false, bounds);
}
 
function dropArea(e:MouseEvent):void{
    map_mc.stopDrag();
}
 
var tmpX:int;
var tmpY:int;
frida_mc.x = frida_mc.x + (map_mc.x - tmpX);
frida_mc.y = frida_mc.y + (map_mc.y - tmpY);



Auriez-vous une idée lumineuse ?

merci merci !!!!!

siu
vendredi 8 octobre 2010 à 23:31:23 | Re : Drag & Drop perfectionné

BBFUNK01

Hello,

et pourquoi tu n'insères pas tes clips vignettes dans le clip carte ? Comme ça au drag and drop de la carte tu n'auras pas de souci ; les clips vignettes suivront la carte... Après à toi de gérer l'agrandissement des vignettes au sein de cette "imbrication".

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
dimanche 10 octobre 2010 à 18:47:56 | Re : Drag & Drop perfectionné

siu

oui je crois que ça peut marcher ! j'ai fait un test - merci!!!!!
en fait je crois qu'il y a un autre problème :

- ma scène est plus petite (1000px x 800 px) que mon image de carte (3000px x 2000px): c'est volontaire, je ne veux pas que tout soit visible d'un seul coup d'oeil, mais seulement une région de la carte, pour que, quand la carte se déplace (interpolation classique), l'internaute découvre au fur et à mesure les différentes régions du monde, sur lesquelles les vignettes sont posées.

- dans le .swf, le drag&drop fonctionne mal (?)
quand je clique sur la carte, l'image de la carte se repositionne sur d'autres coordonnées (en son centre je crois, ou sur le centre de la scène... ?). Je peux la déplacer vers droite, haut et bas, mais sur la gauche, ça bloque...

J'ai tenté plusieurs placements de l'image en frame 1'effet est toujours le même.

Si tu veux m'aider plus avant, puis-je t'envoyer le .swf par mail pour que tu te rendes compte ? Parce que je ne sais pas si je suis compréhensible et c'est un peu compliqué à expliquer...

10000 mercis pour tes lumières !
siu
dimanche 10 octobre 2010 à 19:50:56 | Re : Drag & Drop perfectionné

BBFUNK01

Hello,

je pense que je ne te serai malheureusement pas d'une grande aide en ce qui concerne l'analyse de ton code, car tu codes en as3 et moi je code en as2, donc ce sera peut-être encore plus délicat pour moi de déceler où ça coince.
Mais ce que tu peux faire c'est mettre la partie de ton code qui semble poser problème dans ton post, comme ça si quelqu'un passe par là et voit une anomalie dans le script il pourra t'orienter dans la correction.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
mercredi 13 octobre 2010 à 16:36:11 | Re : Drag & Drop perfectionné

siu

hello,

j'ai enfin trouvé un autre code, qui me permet de mieux gérer le drag&drop :

cartes et vignettes sont dans un même clip
le code est appliqué sur l'ensemble du clip
ce qui permet aux vignettes de suivre le drag&drop de la carte

Code ActionScript :
map_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
map_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop);
 
//// functions /////
function dragStart (evt:MouseEvent) {
    evt.currentTarget.startDrag();
}
function dragStop (evt:MouseEvent) {
    evt.currentTarget.stopDrag();
}
mercredi 13 octobre 2010 à 16:37:36 | Re : Drag & Drop perfectionné

siu

... mais

un nouveau pb : en cliquant sur une vignette située très à l'est de la carte, la nouvelle image est mal positionnée =
l'image de la carte reste à l'endroit où l'internaute s'est positionné sur la carte... et comme je ne peux pas anticiper les coordonnées exactes de l'endroit où l'utilisateur s'est en dernier lieu positionné, il est vain que je place la vignette agrandie sur ces supposées coordonnées...

bon je crains que ce ne soit pas claire, le mieux est de voir sur ce lien :
a.mydlarz.free.fr


par ailleurs, si quelqu'un a une idée pour que le drag&drop s'arrête quand les limites de la cartes sont atteintes, wellcome !!!!!!!!!!!!!!
Modifier/Supprimer le message
mercredi 13 octobre 2010 à 23:33:07 | Re : Drag & Drop perfectionné

BBFUNK01

Hello,

tout d'abord je tiens à te préciser que ton animation est horriblement longue à charger ! Pas loin d'une minute pour obtenir l'affichage chez moi, et j'ai pourtant le haut débit (imagine la durée de chargement chez ceux qui ont le bas débit !). Je pense entre autre que c'est dû au poids de tes images : à mon avis tu stockes toutes tes images haute définition dans ton swf, et ceci explique donc cela. A ta place voilà comment je procéderai :
- sur la carte je mettrai des miniatures plutôt que des images haute définition réduites (car elles ont beau être réduites, le poids lui ne l'est pas), des images 65x65 pixels pourraient faire l'affaire par exemple.
- il faudrait donc que tu stockes tes images haute définition en externe afin qu'au clic sur une miniature située sur la carte, cela charge l'image haute définition en rapport, donc -> gain de poids considérable du swf, et : possibilité de charger l'image haute définition où tu veux , pour ce tu peux par exemple créer un clip vide lors du clic sur la miniature et charger dans ce clip (positionné aux coordonnées désirées) l'image voulue. En as2 j'utilise MovieClipLoader(), à voir si en as3 c'est la meilleure solution, mais je crois que le LoadMovie() en as3 est beaucoup plus "complet" qu'en as2.
- Ensuite pour le drag il faut que tu joues sur les coordonnées, en gros rédiger un code conditionnel qui stoppe le drag sur un axe en fonction de la coordonnée maximale définie de ta carte en rapport avec cet axe.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
jeudi 14 octobre 2010 à 18:06:39 | Re : Drag & Drop perfectionné

siu

Hello BBFUNK01 !

merci pour ces conseils détaillés
pour répondre à chacun de ces points :

- le vignettes sont en png pour cause de coins arrondis et donc une transparence sur les angles (sinon on verrait du blanc sur la carte). Chacune fait en moyenne entre 15 et 20 ko, 72 dpi, 80x80 px.

- pour les images hautes déf, je ne connaissais pas cette fonction... Je suis en AS3, j'ai en effet trouvé un tuto à ICI.
mais si je comprends bien le raisonnement, j'ai alors 2 questions :

- comment fait-on un lien d'un bouton (vignettes images) placé dans un clip vers un autre clip ? (la vignette est dans un clip, et l'image HD dans un autre vide) - je sais faire un lien d'un bouton vers une autre image d'un même clip, mais pas cet autre type de lien...
- faut-il créer autant de clips vide qu'il y a d'images HD ? s'il n'y a qu'un clip vide, comment est fait le lien vers telle image HD ou telle autre ?


bon, c'est galère ce site

merci réellement pour ta patience !
lundi 28 mars 2011 à 02:19:52 | Re : Drag & Drop perfectionné

aerolyte

Bonsoir,

Ragarde dans la doc officiel, les propriété de la méthode stradrag();
Tu devrais trouver ce qui t'interresse


Cette discussion est classée dans : carte, mc, drag, map, frida


Répondre à ce message

Sujets en rapport avec ce message

Zoom + drag [ par albator59 ] Bonjour, je souhaiterai pouvoir zoomer sur un MC à la maniere de la fraise.com : http://www.lafraise.com/tee-shirt-10803p2-so-fresh.html carte interactive [ par aniskouddane ] Bonjour,je commence juste à faire des choses un peu "complexes" (pour moi, graphiste beauzarien meme pas programeur) en flash et je me suis lancé dans transmission des coordonnées x, y d'un objet a un autre [ par NsH ] Bonjour à tous,Voila, j'ai un p'tit souci que je vais vous exposer tout de suite:Dans mon animation flash, j'effectue un duplicateMovieClip() de 3 mov flash et XML probleme d'alpha [ par nina_bee ] bonjour à tous,pour mon site j'ai besoin de créer une page de type plan du site. Quand on arrive sur cette page, les différentes rubriques apparaissen Appeler HTML avec Flash [ par vcordonnier ] HelloJ'ai créé jusque là mon site en flash mais pour les besoins de creation d'une galerie photo j'ai fait appelle à un logiciel qui fait tout : il cr drag & drop sur 2 objets [ par FRED0181 ] Bonjour à tous, voiçi mon problème : je réalise une petite aplication avec flash CS3 et AS3.Cela ressemble à un mini géoportail (géoportail de l'IGN). PB de mask avec drag [ par hemodeporc ] Bonjour je voulais savoir si il ete possible de crée un masque dragable, avec un contour de photo mon mask (mask_mc) est le fond d une photo de polaro zoom en fonction des coordonnees de la souris [ par mflo73 ] Bonjour,je travaille actuellement sur une map de campus d'une fac en As2 et j'aimerai savoir comment faire un zoom en fonction des coordonneés de la s Map mysql [ par moipaci ] Bonjour, je suis un codeur php a la base,alors après avoir fait un rpg php,je me suis demande si je me lancerais en flash, et oui ! car je suis ici, d drag pas compris... [ par zenul ] salut, je me suis fait une carte qui ne tient pas toute la scène avec zoom et drag, et le problème c'est que quand je clique et glisse ma carte se ba


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,577 sec (3)

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