FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» un nouveau editeur panobasic
par Jean Claude Aujourd'hui à 10:18

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:07

» Le compilateur.
par Pedro Alvarez Aujourd'hui à 8:36

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Réponse à JPCR concernant les objets cachés

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Réponse à JPCR concernant les objets cachés   Mer 7 Oct 2015 - 15:39

Salut tout le monde.

Pour ne pas polluer le topic de Jean_Debord, je réponds ici

Avec mes yeux (très) fatigués, je n’arrive pas à me concentrer.
J’ai essayé, vite fait, le petit code suivant où je montre simplement l'idée.
Si ça te conviens, tu peux utiliser une plus belle image où il y a de plus beaux objets à trouver et ... modifier le code pour une plus belle présentation.
Bon, c'est à toi de voir.

Voici l’image du test :
image.bmp:
 

Code:

rem ============================================================================
rem        Objets cachés
rem ============================================================================

    label clic
    dim x,y,n,n1
    full_space 0 : font_bold 0 : font_name 0,"tahoma" : font_size 0,12
    picture 10 : full_space 10  : on_click 10,clic
    file_load 10,"c:\users\acer\desktop\image.bmp" : ' Une image quelconque
    n = 3 : ' nombre d'objets à trouver
    n1 = 0
    print_locate 800,050 : print "Cherchez (cliquez sur) les objets suivants :"
    print_locate 800,100 : print "Grand oiseau"
    print_locate 800,150 : print "Petit oiseau"
    print_locate 800,200 : print "Haut-parleur"
    
    repeat
       x = mouse_x_position(10) : y = mouse_y_position(10) : pause 100
    until scancode = 27

end

rem ============================================================================
clic:
    if x > 330 and x < 460 and y > 035 and y < 150
       print_locate 800,100 : print "Grand oiseau trouvé"
        2d_circle 400,100,50
       n1 = n1 + 1 : Verif()
    end_if
    if x > 170 and x < 230 and y > 050 and y < 080
       print_locate 800,150 : print "Petit oiseau trouvé"
       2d_circle 200,65, 30
       n1 = n1 + 1 : Verif()
    end_if
    if x > 024 and x < 070 and y > 660 and y < 680
       print_locate 800,200 : print "Haut-parleur trouvé"
       2d_circle 50,670,20
       n1 = n1 + 1 : Verif()
    end_if
    
return
rem ============================================================================
SUB Verif()
    if n1 = n
      message "Bravo! Vous avez trouvé tous les objets !"
      terminate : end
    end_if
END_SUB
rem ============================================================================


Si tout va bien,

voici le résultat:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jpcr

avatar

Nombre de messages : 276
Age : 50
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Mer 7 Oct 2015 - 16:27

wow, j'essaye ce soir !!! Cool

ps: c’est dommage que l'on ne puisse pas intégrer les images a l'exe comme dans les outils de création de jeu (comme fusion 2.5)

ps 2 , je suis sidéré par ta vitesse de réaction Papydall Very Happy Very Happy Very Happy Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
pascal10000

avatar

Nombre de messages : 518
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Mer 7 Oct 2015 - 17:17

jpcr

ps: c’est dommage que l'on ne puisse pas intégrer les images a l'exe

et ben si tu peut incorporé des images dans l'exe
en utilisant application (exe) au lieu de exécutable (exe)
mais attention si dans le dossier il comporte des fichiers text
il les avale aussi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jpcr

avatar

Nombre de messages : 276
Age : 50
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Mer 7 Oct 2015 - 17:55

wow, merci pascal, je ne connaissais pas cette subtilité.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Mer 7 Oct 2015 - 19:14

Un code sans image à intégrer.

Code:

rem ============================================================================
rem        Objets cachés
rem ============================================================================

    label clic
    dim x,y,n,n1,w,h
    dim xHomme,yHomme,xDame,yDame,xEclair,yEclair,xPluie,yPluie,xAvion,yAvion
    dim xOiseau,yOiseau,xIle,yIle ,xEtoile,yEtoile,xCle,yCle,xLune,yLune
    dim xX,yX,xVelo,yVelo,xCoeur,yCoeur
    full_space 0 : caption 0,"Cliquez sur les objets .... <ESC>  pour sortir ..."
    w = width(0)/2-100 : h =  height(0)-100
    picture 10 : width 10,w : height 10,h : on_click 10,clic : color 10,50,20,10
    print_target_is 10 : font_bold 10 : font_size 10,34 : font_name 10 ,"webdings"

   
    picture 20 : width 20,w : height 20,h : left 20,width(10)+20
    font_bold 20 : font_name 20,"Tahoma" : font_size 20,16

    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xHomme = x : yHomme = y
    print_locate xHomme,yHomme : print chr$(hex("80"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xDame = x : yDame = y
    print_locate xDame,yDame : print chr$(hex("81"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xEclair = x : yEclair = y
    print_locate xEclair,yEclair : print chr$(hex("2B"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xPluie = x : yPluie = y
    print_locate xPluie,yPluie : print chr$(hex("DB"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xAvion = x : yAvion = y
    print_locate xAvion,yAvion : print chr$(hex("F1"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xOiseau = x : yOiseau = y
    print_locate xOiseau,yOiseau : print chr$(hex("FF"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xIle = x : yIle = y
    print_locate xIle,yIle : print chr$(hex("4A"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xEtoile = x : yEtoile = y
    print_locate xEtoile,yEtoile : print chr$(hex("98"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xCle = x : yCle = y
    print_locate xCle,yCle : print chr$(hex("D1"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xLune = x : yLune = y
    print_locate xLune,yLune : print chr$(hex("E0"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xX = x : yX = y
    print_locate xX,yX : print chr$(hex("72"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xVelo = x : yVelo = y
    print_locate xVelo,yVelo : print chr$(hex("62"))
    x = int(20+rnd(w-100)) : y = int(20+rnd(h-100)) : xCoeur = x : yCoeur = y
    print_locate xCoeur,yCoeur : print chr$(hex("59"))
   
    print_target_is 20 : print_locate 100,50 : print "Trouvez :"
    print_locate 100,100 : print "pluie"
    print_locate 100,125 : print "Homme"
    print_locate 100,150 : print "Dame"
    print_locate 100,175 : print "Eclair"
    print_locate 100,200 : print "Avion"
    print_locate 100,225 : print "Oiseau"
    print_locate 100,250 : print "Ile"
    print_locate 100,275 : print "Etoile"
    print_locate 100,300 : print "Clé"
    print_locate 100,325 : print "Lune"
    print_locate 100,350 : print "Croix"
    print_locate 100,375 : print "Velo"
    print_locate 100,400 : print "Coeur"

    n = 13 : ' nombre d'objets à trouver
    n1 = 0
   
    display
    repeat
      x = mouse_x_position(10) : y = mouse_y_position(10) : pause 300
    until scancode = 27
   
    end
rem ============================================================================
Clic:
  2d_target_is 10 : print_target_is 10
  if abs(x - xPluie) < 20 and abs(y - yPluie) < 20
      print_locate xPluie,yPluie : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,100 : print "pluie ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xHomme) < 20 and abs(y - yHomme) < 20
      print_locate xHomme,yHomme : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,125 : print "Homme ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xDame) < 20 and abs(y - yDame) < 20
      print_locate xDame,yDame : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,150 : print "Dame ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xEclair) < 20 and abs(y - yEclair) < 20
      print_locate xEclair,yEclair : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,175 : print "Eclair ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
    if abs(x - xAvion) < 20 and abs(y - yAvion) < 20
      print_locate xAvion,yAvion : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,200 : print "Avion ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xOiseau) < 20 and abs(y - yOiseau) < 20
      print_locate xOiseau,yOiseau : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,225 : print "Oiseau ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xIle) < 20 and abs(y - yIle) < 20
      print_locate xIle,yIle : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,250 : print "Ile ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xEtoile) < 20 and abs(y - yEtoile) < 20
      print_locate xEtoile,yEtoile : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,275 : print "Etoile ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xCle) < 20 and abs(y - yCle) < 20
      print_locate xCle,yCle : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,300 : print "Clé ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xLune) < 20 and abs(y - yLune) < 20
      print_locate xLune,yLune : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,325 : print "Lune ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xX) < 20 and abs(y - yX) < 20
      print_locate xX,yX : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,350 : print "Croix ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xVelo) < 20 and abs(y - yVelo) < 20
      print_locate xVelo,yVelo : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,375 : print "Velo ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  if abs(x - xCoeur) < 20 and abs(y - yCoeur) < 20
      print_locate xCoeur,yCoeur : print chr$(hex("63"))
      print_target_is 20 : print_locate 100,400 : print "Coeur ---> trouvé"
      n1 = n1 + 1 : Verif()
  end_if
 
  display
return
rem ============================================================================
SUB Verif()
    if n1 = n
      message "Bravo! Vous avez trouvé tous les objets !"
      terminate : end
    end_if
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Jeu 8 Oct 2015 - 8:26

Dans ton autre poste, je te parlais d'un système à détection par couleurs. La première étape est la préparation de la deuxième image (celle où les objets sont colorés en rouge) en retirant tous les points dont la composante rouge est 255.
Le programme pour préparer cette image est:
Code:
' balaye une image de 1024 x 700 pour remplacer la composante rouge
' quand elle vaut 255 par 254 afin de garder la valeur 255 pour les zones
' correspondant à un objet
dim x%,y%,c%
dim l%, h% : l% = 1024 : h%=700
dim bandeau%, bord%
dim l0%,h0%,l1%,h1%
hide 0 : l0%=width(0) : h0%=height(0)
picture 1 : full_space 1 : l1%=width(1) : h1%=height(1)
bord%=(l0%+2-l1%)/2 : bandeau% = (h0%-2)-h1%-bord%
width 1,l% : height 1,h%
file_load 1,"i2.bmp"
width 0,width(1) + 2*bord% : height 0,height(1) + bandeau% + 2 * bord%

 for x% = 0 to l% - 1
   for y% = 0 to h% - 1
      c% = color_pixel_red(1,x%,y%)
      if c% = 255 then remplace(1,x%,y%)
   next y%
 next x%
file_save 1,"i2.bmp"
show 0
end

sub remplace(n%,xp%,yp%)
  dim_local v%,b%
  2d_target_is n%
  v% = color_pixel_green(n%,xp%,yp%)
  b% = color_pixel_blue(n%,xp%,yp%)
  2d_pen_color 244,v%,b% : 2d_point xp%,yp%
end_sub

Pour le système par détection par polygones, Klaus t'a créé une fonction super dans KGF ....
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Jeu 8 Oct 2015 - 11:45

La méthode de la feuille avec les objets colorés sur une autre image, c'est que tu n'a qu'un test à faire pour savoir si tu as cliqué sur un objet et une lecture d'une des composantes pour avoir un des 256 objets d'une image ou des 2 autres composantes pour avoir 65 536 objets. Ce qui peut aller considérablement plus vite que de tester l'appartenance d'un point parmi 65 536 polygones. Surtout si ces polygones sont complexes (s'ils ont de nombreux points).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 1:29

Je te mets un petit programme de démo qui reconnait 32 objets sur une image (tel que c'est codé, je n'utilise que le vert pour avoir le numéro d'objet, je peux donc en mettre 256, ce qui est largement suffisant pour ce type de jeux ...)

Tu vois, c'est hyper simple et j'ai fait la deuxième image en 2 temps, d'abord le programme donné avant qui retire tous les point avec une composante rouge à 255 , puis un coloriage rapide des différents objets en partant de la composante verte à 0 et en la montant de 1 à chaque objet. J'ai varié la couleur bleu sur certains objets pour les distinguer plus facilement quand ils étaient proches ou se touchaient.

Les images sont disponibles ici: http://www.fichier-zip.com/2015/10/09/objets-caches/

Code:
' balaye une image de 1024 x 700 pour remplacer la composante rouge
' quand elle vaut 255 par 254 afin de garder la valeur 255 pour les zones
' correspondant à un objet

label clique

dim x%,y%,objet%, objet$
dim l%, h% : l% = 1024 : h%=700
dim bandeau%, bord%
dim l0%,h0%,l1%,h1%
hide 0 : l0%=width(0) : h0%=height(0)
picture 1 : full_space 1 : l1%=width(1) : h1%=height(1)
bord%=(l0%+2-l1%)/2 : bandeau% = (h0%-2)-h1%-bord%
width 1,l% : height 1,h%
file_load 1,"image_normale.jpg"
on_click 1,clique
width 0,width(1) + 2*bord% : height 0,height(1) + bandeau% + 2 * bord%
picture 2 : top 2, 0-1000 : hide 2
file_load 2,"i2.bmp"
show 0
end

clique:
 x% = mouse_x_position(1)
 y% = mouse_y_position(1)
 if color_pixel_red(2,x%,y%) = 255
    objet(2,x%,y%)
    caption 0,"Vous avez cliqué sur l'objet : " + objet$
 else
    caption 0,"Vous n'avez pas cliqué sur l'un des objet prévu"
 end_if
return

sub objet(n%,xp%,yp%)
  2d_target_is n%
  objet% = color_pixel_green(n%,xp%,yp%)
  select objet%
      case 0: objet$="horloge"
      case 1: objet$="sachet de thé"
      case 2: objet$="clé"
      case 3: objet$="crochet"
      case 4: objet$="tableau"
      case 5: objet$="quart de lune"
      case 6: objet$="coquille Saint Jacques"
      case 7: objet$="crane"
      case 8: objet$="lampe à pétrôle"
      case 9: objet$="pince"
      case 10: objet$="bijou"
      case 11: objet$="tasse"
      case 12: objet$="chaise"
      case 13: objet$="chaussure"
      case 14: objet$="livre marron"
      case 15: objet$="rat"
      case 16: objet$="sceau"
      case 17: objet$="balais"
      case 18: objet$="trefle"
      case 19: objet$="pointe de flèche"
      case 20: objet$="tête de poupée"
      case 21: objet$="fer à cheval"
      case 22: objet$="timbre"
      case 23: objet$="rame"
      case 24: objet$="chaine"
      case 25: objet$="ombre de chat"
      case 26: objet$="plume"
      case 27: objet$="bouteille de vin"
      case 28: objet$="hache"
      case 29: objet$="girouette"
      case 30: objet$="palette"
      case 31: objet$="chapeau de magicien"
      case 32: objet$="montre"
  end_select
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 8:28

Pas mal, j'ai réussi à trouver les 32 objets cités dans le code.
Le sceau, ça été le plus difficile, car il y a une ruse (à mon avis involontaire) Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 9:50

Oui, là c'est facile, juste pour faire une démo, on clique sur l'objet que l'on veut.
Dans le jeu que veut faire jpcr, le principe c'est que l'on a quelques objets précis à trouver sur l'image dans un temps donné et quand on trouve un des objets de la liste, il propose d'en trouver un autre.
Pour les besoin de la démo, j'ai pris une image assez simple, mais tu peux en avoir avec beaucoup d'objets et des objets à trouver plus petit ou bien fondu dans le décor (comme le fer à cheval sur mon exemple, par exemple)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 11:03

Good morning
Le nec plus ultra sera si l’objet trouvé s’effacera de la scène, mais ça  c’est un autre casse-tête de programmation.
Y a-t-il quelqu’un qui a des idées que je n’ai pas  pour remplacer l’objet trouvé par le même fond de l’image ?
Oui, oui, je m’exprime mal ce matin. Je sais que je suis assez brouillon. Alors, What a Face
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jpcr

avatar

Nombre de messages : 276
Age : 50
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 11:28

oui c'est pour ça que je voulais utiliser des images transparentes que je pouvais cacher avec un hide.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 11:37

Ceci es possible uniquement avec un SCENE_2D et des SPRITE dont le fond noir est transparent. Et tu peux cacher un SPRITE par la commande SPRITE_HIDE. Tu peux également récupérer la position d'un clic de la souris dans le SCENE_2D excactement comme dans un PICTURE et déterminer ainsi quel sSPRITE a été cliqué.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 9 Oct 2015 - 11:38

...Et tu peux changer la couleur de transparence en changeant la couleur de fond du scene2d.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 13:16

Finalement, on peut tout faire ou presque.

NB : ce 'on' , ce n'est pas Papydall ! No
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 14:50

oui, là l'exemple se concentre sur la détection du clic sur l'objet. Pour effacer les objet, la méthode la plus simple selon moi:
Préparer une image avec les objets
Etape 1: filtrer la composante de ton choix pour garder une valeur particulière pour toi (dans mon exemple, le rouge à 255, mais tu peux le faire avec n'importe quelle composante et n'importe quelle valeur) et sauvegarder l'image
Etape 2: faire un masque de tes sprites (ça peut être fait facilement par programme en remplacant tout ce qui n'est pas noir par la couleur R:255 V=n°d'objet et B avec la valeur que tu veux)
Etape 3: Afficher les prites là où ils doivent être
Etape 4: faire une capture écran de l'image avec les masques des sprites et la sauvegarder comme image de détection de clics sur un objet

Pour le jeu, prendre l'image de fond normal et afficher les sprites normaux.
Initialiser un tableau qui contienne 1 pour chaque objet affiché
Si l'utilisateur clic, prendre les coordonnées du clic sur le scene2D et tester le point correspondant sur l'image préalablement créée
Si on a touché un objet, regardé si l'objet est actif. S'il l'est, masquer le sprite et mettre 0 dans le tableau

(Ce principe peut être affiné avec un autre tableau qui correspondrait au numéro des objets recherchés parmi ceux affichés et un compteur d'objet trouvé. L'objet ne serait alors masqué et la valeur du tableau passée à 0 uniquement si l'objet trouvé correspond à un des objets à trouver)

Ce n'est pas très complexe. Bien sûr ça demande un travail sur les graphisme, mais c'est le principe de ce jeu qui le demande...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jpcr

avatar

Nombre de messages : 276
Age : 50
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 15:21

oui papydall, le on ne m'inclut pas non plus...

je suis positivement surpris du nombre de solutions proposée a mon petit problème.

vous êtes formidables les gars !!! Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 9 Oct 2015 - 17:59

Pourquoi effacer le sprite ?

Tu peux faire un zoom/de-zoom au clic puis le faire sortir de l' écran.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Ven 9 Oct 2015 - 19:18

Exclamation Question Exclamation Question Exclamation Question Exclamation

Maintenant si tu nous en dis un peu plus, ygeronimi ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jpcr

avatar

Nombre de messages : 276
Age : 50
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Lun 12 Oct 2015 - 15:22

je crois qu'il veut dire que tu fais bouger le sprite hors écran pour qu'on ait l'impression qu'il disparait une fois trouvé.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 12 Oct 2015 - 23:29

Oui Jpcr, c' est tout à fait cela.
Si cela est assez rapide ( sans l' être de trop tout de même  Laughing )
cela donne un effet et tu peux choisir une direction de sortie pour chaque sprite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Réponse à JPCR concernant les objets cachés   

Revenir en haut Aller en bas
 
Réponse à JPCR concernant les objets cachés
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Objets cachés en français: amsterdam diamond
» [Resolu] Gadget objets cachés de Gérard.....
» [Résolu] montrer les objets cachés
» Carte de jeu 'objets cachés'
» Vérification rapport ZHP - PC lent, bloque souvent ("pas de réponse")

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Les inutilitaires-
Sauter vers: