FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» trop de fichiers en cours
Réponse à JPCR concernant les objets cachés Emptypar lepetitmarocain Aujourd'hui à 17:29

» Une calculatrice en une ligne de programme
Réponse à JPCR concernant les objets cachés Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
Réponse à JPCR concernant les objets cachés Emptypar leclode Hier à 17:59

» Bataille navale SM
Réponse à JPCR concernant les objets cachés Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
Réponse à JPCR concernant les objets cachés Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Réponse à JPCR concernant les objets cachés Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Réponse à JPCR concernant les objets cachés Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Réponse à JPCR concernant les objets cachés Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Réponse à JPCR concernant les objets cachés Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Réponse à JPCR concernant les objets cachés Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Réponse à JPCR concernant les objets cachés Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Réponse à JPCR concernant les objets cachés Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Réponse à JPCR concernant les objets cachés Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Réponse à JPCR concernant les objets cachés Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Réponse à JPCR concernant les objets cachés Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

 Réponse à JPCR concernant les objets cachés

Aller en bas 
+3
pascal10000
jpcr
papydall
7 participants
AuteurMessage
papydall

papydall


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyMer 7 Oct 2015 - 14: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
http://papydall-panoramic.forumarabia.com/
jpcr

jpcr


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyMer 7 Oct 2015 - 15: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
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
pascal10000

pascal10000


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyMer 7 Oct 2015 - 16: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
jpcr

jpcr


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyMer 7 Oct 2015 - 16:55

wow, merci pascal, je ne connaissais pas cette subtilité.
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
papydall

papydall


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyMer 7 Oct 2015 - 18: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
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyJeu 8 Oct 2015 - 7: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
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyJeu 8 Oct 2015 - 10: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
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 0: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
Jean Claude

Jean Claude


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 7: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
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 8: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
papydall

papydall


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 10: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
http://papydall-panoramic.forumarabia.com/
jpcr

jpcr


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 10: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
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Klaus

Klaus


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 10: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
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: re   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 10:38

...Et tu peux changer la couleur de transparence en changeant la couleur de fond du scene2d.
Revenir en haut Aller en bas
papydall

papydall


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 12:16

Finalement, on peut tout faire ou presque.

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

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 13: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
jpcr

jpcr


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 14: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
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: re   Réponse à JPCR concernant les objets cachés EmptyVen 9 Oct 2015 - 16: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
papydall

papydall


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

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

Exclamation Question Exclamation Question Exclamation Question Exclamation

Maintenant si tu nous en dis un peu plus, ygeronimi ?
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jpcr

jpcr


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

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: Re: Réponse à JPCR concernant les objets cachés   Réponse à JPCR concernant les objets cachés EmptyLun 12 Oct 2015 - 14: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
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Réponse à JPCR concernant les objets cachés Empty
MessageSujet: re   Réponse à JPCR concernant les objets cachés EmptyLun 12 Oct 2015 - 22: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
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
Réponse à JPCR concernant les objets cachés
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bienvenue à jpcr
» Problème avec les READ et DATA
» FILEBIN
» Au sujet des DIM
» Commande EXECUTE

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