| Drag and Drop | |
|
|
Auteur | Message |
---|
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Drag and Drop Sam 6 Jan 2007 - 11:03 | |
| Bonjour,
Je voudrais savoir comment en peut faire un DragandDrop(Glisser déposer).
Merci :bounce: |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Drag and Drop Sam 6 Jan 2007 - 12:08 | |
| Tu veux dire, faire un jeu dans lequel le joueur peut faire un drag & drop ?.. Je pense que c'est faisable en attribuant au curseur de la souris le sprite correspondant à l'objet déplacé. On désactive l'objet cliqué, la souris se transforme, puis on crée un nouvel objet à l'endroit où on clique. |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Dim 7 Jan 2007 - 10:26 | |
| Oui je voudrais utilisé cette fonction pour mon jeu. En faite je déplacerais l'obejt avec la souris afin de lamener à un autre endroit , bien sûr dans la mème room. Merci |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Drag and Drop Dim 7 Jan 2007 - 10:51 | |
| De rien N'hésite pas à nous dire si tu as réussi à atteindre ton but ! |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Dim 7 Jan 2007 - 16:56 | |
| Pas de problème je vous en informerais. Merci |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Dim 21 Jan 2007 - 16:37 | |
| Je répond un peux tard, mais comme je travail sur la préparation de mon jeux, j'ai mis de coté le drag And drop, j'ai pas trouvé comment faire. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Drag and Drop Dim 21 Jan 2007 - 19:34 | |
| Qu'est-ce que tu n'arrives pas à faire ? |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Dim 21 Jan 2007 - 21:04 | |
| J'arri pas à faire un glisser déposer (drag And Drop) :!: |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Drag and Drop Dim 21 Jan 2007 - 21:40 | |
| Et en faisant comme j'ai suggéré ? |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 7:28 | |
| Oui c'est ce que j'ai fait, au début pas de problème je dit à l' object0 :
mouse.Mode(dragdrop); object[0].Visible = true;
Donc là lorsque je clik object disparaît bien, et c'est le curseur qui remprend le relai, mais après je voudrais que l'object se positionne à n'importe quel endroit de la room.
J'ai testé de mettre un hotspot sur toute la room, et de rendre Visible l'object, mais il mets l'object toujours au mème endroit, donc j'ai mis plusieurs hospot, toujours le mème résultat, j'ai aussi testé plusieurs object idèm...
Bon je galère!!! |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 8:45 | |
| ben change la position de l'objet en fonction de la position de la souris au moment du clic 'drop'
objet[0].x = mouse.x; objet[0].y = mouse.y; |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 9:20 | |
| Je ne savais pas quand pouvais faire ça, je ne métrise par tout encore.
Merci |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 9:29 | |
| Asraroth escuse moi encore, j'ai pas trop compris ou il falais mettre
mouse.x = mouse.x mouse.y = mouse.y |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 9:31 | |
| Je voulais dire :
objet[0].x = mouse.x; objet[0].y = mouse.y;
Décidement ce matin je ne suis pas réveiller. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 10:15 | |
| Ca depend de ce que tu veux faire : - un clic gauche pour prendre l'objet et encore un clic pour le poser - un clic gauche + maintien du bouton enfoncé pour prendre et deplacer l'objet, puis relache du bouton pour poser l'objet (le vrai drag & drop) dans le 2eme cas, tu peux mettre quelque chose dans ce genre, dans le repeatedly execute de la room : - Code:
-
if (mouse.Mode == dragdrop) { if (!mouse.IsButtonDown(eMouseLeft) { mouse.Mode = eModeWalkto; object[0].x = mouse.x; object[0].y = mouse.y; } } Le mode de la souris passe à "dragdrop" (c'est un mode perso que tu dois avoir créé) quand on clic sur l'objet. Dans le code, on test si le mode est à dragdrop, et si le bouton gauche de la souris n'est plus enfoncé, on change le mode de la souris, et on place l'objet aux coordonnées de la souris. J'ai pas testé.. mais dans le principe, çà doit marcher. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 11:36 | |
| Il faudrait peut-être ajouter des lignes de code pour déterminer quel objet a été cliqué, si on peut faire du drag&drop sur plusieurs objets dans la même room. Là, c'est limité au seul object[0]. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 12:22 | |
| Je viens de tester... ca marche. Voici le code : tout en haut du global script, ou dans le header, il faut declarer un pointeur d'objet : - Code:
-
Object *dragobj; dans le global script, dans la fonction "on_mouse_click" : - Code:
-
function on_mouse_click(MouseButton button) { if (button == eMouseLeft) { if (GetLocationType(mouse.x,mouse.y) == eLocationObject) { dragobj = Object.GetAtScreenXY(mouse.x,mouse.y); Mouse.Mode = eModePickup; } } }
dans le global script, dans la fonction "repeatedly_execute" : - Code:
-
function repeatedly_execute() { if (mouse.Mode == eModePickup) { dragobj.X = mouse.x; dragobj.Y = mouse.y; if (!mouse.IsButtonDown(eMouseLeft)) mouse.Mode = eModeLookat; } }
|
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 13:08 | |
| Ok Merci je vais aller tester :bounce: |
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 13:24 | |
| J'ai bien fait ce que tu ma dis, mais j'arrive pas comprendre au niveau du pointer Object *dragobj;
Que doit je mettre dans l'intérac du pickup, et dans l'intéraction de l'objet, escuse moi encore je crois qu'aujourd'hui j'ai vraiment du mal à comprend (Manque de sommeil). |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 14:13 | |
| - neutrinos a écrit:
- J'ai bien fait ce que tu ma dis, mais j'arrive pas comprendre
au niveau du pointer Object *dragobj;
Que doit je mettre dans l'intérac du pickup, et dans l'intéraction de l'objet, escuse moi encore je crois qu'aujourd'hui j'ai vraiment du mal à comprend (Manque de sommeil). le pointeur sert à recuperer l'objet sur lequel on a cliqué. et il n'y a rien d'autre à mettre... ca marche tel quel. Par contre, j'ai utilisé le "Mode ePickup", mais tu peux utiliser ton mode perso "eDragDrop"... et le retour au mode normal que tu veux quand l'objet à été laché. Dans mon script, je l'ai repasé en mode eModeLookat. Pour tester, copie les scripts aux bons endroits, créé une room, et place quelques objets dedans. Tu veras que tu peux les prendre et les lacher n'importe ou. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 14:19 | |
| j'explique le code, ligne par ligne.. ca sera + clair : - Code:
-
function on_mouse_click(MouseButton button) { if (button == eMouseLeft) { // si le joueur clique sur le bouton gauche if (GetLocationType(mouse.x,mouse.y) == eLocationObject) { // on verifie qu'il y a bien un objet sous le curseur de la souris dragobj = Object.GetAtScreenXY(mouse.x,mouse.y); // dragobj est un pointeur vers l'objet cliqué Mouse.Mode = eModePickup; // On passe le mode de la souris en Pickup (ca pourrait être autre chose) } } } function repeatedly_execute() { if (mouse.Mode == eModePickup) { // Si le mode de la souris est Pickup = si le joueur a cliqué sur un objet dragobj.X = mouse.x; // on deplace l'objet aux coordonnées dragobj.Y = mouse.y; // du curseur de la souris if (!mouse.IsButtonDown(eMouseLeft)) mouse.Mode = eModeLookat; // si le bouton gauche a été relaché, on repasse le mode de la souris en mode LookAt } }
|
|
| |
neutrinos Cliqueur Amateur
Nombre de messages : 219
Localisation : Nébuleuse du Crabe
Date d'inscription : 30/08/2006
| Sujet: Re: Drag and Drop Lun 22 Jan 2007 - 16:46 | |
| Asrararoth C'est bon j'ai réussi, en faite j'avais mis les functions dans les functions le gag, ça ne pouvais pas marcher, par contre j'ai un léger décallage quand je prends l'object, je me demande si c'est pas la taille de mes des objects qui fait ça?. En tout cas un grand merci pour ton aide et pour tes explication clair. Merci aussi Shai-la pour tes conseilles. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Drag and Drop Mar 23 Jan 2007 - 13:01 | |
| - neutrinos a écrit:
- par contre j'ai un léger décallage quand je prends l'object, je me demande si c'est pas la taille de mes des objects qui fait ça?.
Oui, si tu as des gros objets, çà doit surement ramer un peu. 40 fois par seconde, le programme replace l'objet aux coordonnées de la souris quand tu le glisses. Pour eviter çà, tu peux rendre l'objet invisible quand on l'attrape, et changer le curseur de la souris avec l'image de cet objet. Puis le faire réaparaitre, et remettre le curseur normal quand on le lache. bon courage |
|
| |
Contenu sponsorisé
| Sujet: Re: Drag and Drop | |
| |
|
| |
| Drag and Drop | |
|