Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 superposition d'objet

Aller en bas 
2 participants
AuteurMessage
flotant
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
flotant


Nombre de messages : 168

Age : 48

Date d'inscription : 13/06/2010


superposition d'objet Empty
MessageSujet: superposition d'objet   superposition d'objet EmptyVen 25 Nov 2011 - 18:18

Bonjour,
Voila j'ai trois objet superposés qui bien sur font une action chacun. J'ai joué avec les baselines objet 1 et 3 baseline 0 et objet 3 baseline 8. Ce n'était pas concluant.
voila mon petit astuce qui peut servir à d'autre, je joue sur l'apparition ce qui donne le niveau de superposition.
objet1.Visible=true;
objet2.Visible=true;
Wait(T/20); //avec T= 40 pour faire une seconde.
objet3.Visible=true;
sourire
Revenir en haut Aller en bas
flotant
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
flotant


Nombre de messages : 168

Age : 48

Date d'inscription : 13/06/2010


superposition d'objet Empty
MessageSujet: Re: superposition d'objet   superposition d'objet EmptyVen 25 Nov 2011 - 23:00

Cela serait intéressant de savoir si vous avez une autre méthode.
Plusieurs chemin pour une destination.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


superposition d'objet Empty
MessageSujet: Re: superposition d'objet   superposition d'objet EmptySam 26 Nov 2011 - 12:29

Déjà bravo pour avoir posté à minuit pile clin d'oeil

Ensuite je ne comprends pas trop ce que tu veux faire.
Le code que tu as entré a simplement pour effet de faire apparaître les objets 1 et 2 simultanément et l'objet 3 seulement 2 cycles plus tard (T/20 == 2 pour T = 40). Mais ils resteront toujours dans leur position initiale (superposés en l'occurrence).

Ton but c'est de pouvoir cliquer sur chacun d'eux indépendamment ? Ou bien qu'on les voit apparaître successivement ?
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
flotant
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
flotant


Nombre de messages : 168

Age : 48

Date d'inscription : 13/06/2010


superposition d'objet Empty
MessageSujet: Re: superposition d'objet   superposition d'objet EmptySam 26 Nov 2011 - 12:38


Merci kitia
Je vois ce que tu veux dire mais j'avais un problème d'interaction avec mon objet 1 et 2.
en fait j'ai trois couches objet 1 et 2, objet 3 et objet 4. Je dois pouvoir interagir avec l'objet 1et 2 et le 3. Quand je clique sur un bouton tous les objets apparaissent et malgrès des réglage de baseline cela ne fonctionnait pas, alors j'ai mis mes objet 1 et 2 toujours visibles. Cela a fonctionné. D'où l'idée de l'utilisation de cette prog. C'est certainement bidouille mais je voulais le partager et voir si d'autre personne on eu ce problème ou on une autre solution.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


superposition d'objet Empty
MessageSujet: Re: superposition d'objet   superposition d'objet EmptyDim 27 Nov 2011 - 12:41

Hm, je vois, en fait tu veux que chacun de ces objets qui sont superposés soit détecté par le clic de la souris, bien qu'en temps normal, seul celui qui a la baseline le plus "bas" est détecté.
Je t'aurais bien dit de recourir à la fonction GetAtScreenXY, seulement elle fonctionne de la même façon : c'est l'objet dont la baseline est le plus "bas" qui sera détecté.

Une autre façon de faire serait la suivante :
Code:
function IsAtXY(this Object*, int x, int y) {

  DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(objet.Sprite);

  if ((objet.X + GetViewportX() < x) && (objet.X + sprite.Width + GetViewportX() > x) && (objet.Y + GetViewportY() < y) && (objet.Y + sprite.Height + GetViewportY() > y))
    return true;

  return false;

}

function on_mouse_click(MouseButton bouton) {

  if (bouton == eMouseLeft) {
   
    if (object[0].IsAtXY(mouse.x, mouse.y)) {

      // Le code que tu veux lorsque le joueur clique sur l'objet 0

    }

    if (object[1].IsAtXY(mouse.y, mouse.y)) {

      // Le code que tu veux lorsque le joueur clique sur l'objet 1

    }

    // etc...

}
De cette façon tu détectes chaque objet, qu'il soit superposé à un autre ou non. Toutefois, la détection se fait sur toute la hauteur et toute la largeur de l'image de l'objet, donc le code se déclenche même si le clic se fait sur une partie "transparente" de l'image de l'objet.
Il y a une façon de contourner ça, mais ça alourdit un petit peu le code. Cela dit c'est tout à fait faisable si tu le désires.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
flotant
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
flotant


Nombre de messages : 168

Age : 48

Date d'inscription : 13/06/2010


superposition d'objet Empty
MessageSujet: Re: superposition d'objet   superposition d'objet EmptyLun 28 Nov 2011 - 17:27

merci de ta réponse, je ne connaissais pas cette fonction, je vais essayer pour le fun mais je vais surtout validé ma façon sur plusieurs ouverture de room.
merci de cet échange.
Revenir en haut Aller en bas
Contenu sponsorisé





superposition d'objet Empty
MessageSujet: Re: superposition d'objet   superposition d'objet Empty

Revenir en haut Aller en bas
 
superposition d'objet
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: