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
» Form(résolu)
Lire position souris sur un scene2D ? Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Lire position souris sur un scene2D ? Emptypar Marc Hier à 11:42

» Bataille navale SM
Lire position souris sur un scene2D ? Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Une calculatrice en une ligne de programme
Lire position souris sur un scene2D ? Emptypar jean_debord Ven 26 Avr 2024 - 8:01

» Gestion d'un système client-serveur.
Lire position souris sur un scene2D ? Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Lire position souris sur un scene2D ? Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Lire position souris sur un scene2D ? Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Lire position souris sur un scene2D ? Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Lire position souris sur un scene2D ? Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Lire position souris sur un scene2D ? Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Lire position souris sur un scene2D ? Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Lire position souris sur un scene2D ? Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Lire position souris sur un scene2D ? Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Lire position souris sur un scene2D ? Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Lire position souris sur un scene2D ? 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
-39%
Le deal à ne pas rater :
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
399 € 649 €
Voir le deal

 

 Lire position souris sur un scene2D ?

Aller en bas 
5 participants
AuteurMessage
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

Lire position souris sur un scene2D ? Empty
MessageSujet: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyJeu 25 Nov 2010 - 20:21

C'est moi qui me gourre dans le code ou c'est la position souris qui ne fonctionne pas sur le scene2D ?

Code:
' Déclaration des variables
dim x
dim y
dim taille

' Création des objts "système"
scene2D 1
edit 2

' Taille du scene2D
width 1,400
height 1,400
file_load 1,"Carte.bmp"

' Position de l'édit
left 2,400
top 2,0

' Affichage dans l'édit de la position souris lors du click gauche
x=mouse_x_left_down(1)
y=mouse_y_left_down(1)
text 2,"X="+str$(x)+" Y="+str$(y)
 

L'édit affiche toujours X=0 Y=0


Ce code n'est pas dans une boucle, il se fait seulement lors du click sur la scene2D

EDIT 1 :

D'ailleurs je viens de faire le test en remplaçant la derniere partie par :

Code:
' Affichage dans l'édit de la position souris lors du click gauche
if mouse_left_down(1)=1
x=mouse_x_left_down(1)
y=mouse_y_left_down(1)
text 2,"X="+str$(x)+" Y="+str$(y)
end_if

Et là c'est pire, il ne détecte pas que le click souris se fait sur le scene2D :/
(L'édit est toujours vide).

EDIT 2 :

Je viens de remplacer le scene2D par un picture et c'est la même chose, donc c'est la lecture de position souris qui ne fonctionne pas ?
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyJeu 25 Nov 2010 - 21:39

A première vue je ne comprends pas bien ton programme:
tu le lances, les instructions se déroulent immédiatement, puis il ne se passe plus rien, il n'y a même pas de END pour te mettre en attente d'événement.

Ton test sur la souris se déroule une seule fois, au lancement, et puis on n'y revient plus, et tu peux cliquer tant que tu veux ça ne sera pas détecté ni traité.

Ce test devrait être dans un sous-programme, appelé par le clic de la souris, du genre:
Code:
dim x, y
label clic

picture 1
edit 2
on_click 1, clic
end

clic:
' Affichage dans l'édit de la position souris lors du click gauche
x=mouse_x_left_down(1)
y=mouse_y_left_down(1)
text 2,"X="+str$(x)+" Y="+str$(y)
return

maintenant, pour un scene2d ça semble un peu spécial... je ne connais pas.
En effet, ça marche pour un picture, mais sur un scene2d ça donne toujours 0,0 ???

Le click est bien détecté, si on écrit:
n=n+1: text 2,"n="+str$(n)+" X="+str$(x)+" Y="+str$(y)
la valeur n s'incrémente à chaque clic, mais la position n'est pas détectée... scratch
Revenir en haut Aller en bas
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 1:06

Le On_click n'a pas besoin d'être dans une boucle, et d'ailleurs tu le vois bien aussi puisque sur ton code il y a incrémentation, mais la position souris n'est pas lue comme je le disais.
Si tu ne met pas de END il existe par défaut aussi.
Revenir en haut Aller en bas
Klaus

Klaus


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 1:56

@ dragonno:
Je vois que tu as encore des difficultés avec le mode "basic ancien" et "basic évènementiel" de Panoramic.

Ceci a fait l'objet de multiples posts sur le forum - je te suggère de télécharger mon ForumBrowser et l'indexe du forum Panoramic que j'ai mis en ligne sur mon site, pour retrouver facilement tous ces posts.

Voici une explication brève mais j'espère parlante.

1. Un programme Panoramic démarre dans un mode "programmation linéaire" (ancien Basic) et reste dans ce mode jusqu'à l'exécution de la commande END. Toutes les commandes s'enchaînent les unes après les autres, et Panoramic ne se met PAS en attente d'un évènement.

Si l'on veut créer un programme avec une interface visuelle type Windows, avec des objets visuels, il fgaut utiliser cette phase pour définir son interface (créer les objets, leur donner leurs paramétrages etc). C'est aussi dans cette phase qu'un déclare les sous-programme d'évènements qu'on veut utiliser sur les objets visuels (dans ton cas, un click sur un picture).

2. On place la commande END à la fin de cette phase de préparation. On passe alors en "mode évènementiel". Le noyau de Panoramic prend la main et ne fait rien d'autre qu'attendre un évènement pour lequel un sous-programme a été déclaré dans la phase précédente. SI un tel évènement arrive (un click sur un picture, par exemple), le noyau de Panoramic appelle alors le sous-programme associé comme si le programmeur avait fait un GOSUB.

3. On place TOUS les sous-programmes évènements APRES le END, et on les termine par un RETURN. Ce RETURN redonne la main au noyau de Panoramic pour attendre l'évènement suivant. D'après ce que je viens de dire en (2), tu vois que ces sous-programmes ne sont exécutés que si l'évènement correspondant est arrivé.

Voici donc la structure type d'un programme Panoramic:

label <... liste des labels des sous-programmes évènements et sous-programmes de 2ème niveau...>
dim <... définition de toutes les variables...>
... définition de tous les objets, avec leurs paramètres
... initialisation éventuelle de certaines variables

END

routine_event_1:
... traitement de l'évènement 1
RETURN

routine_event_2:
... traitement de l'évènement 2
RETURN

sousprogramme_1:
... sous-programme éventuellement appelé par un des sous-programmes évènement
RETURN

Voilà, c'est tout. A la lumière de cela, regarde à nouveau le source de JL35, qui respecte parfaitement ces règles, et qui du coup marche puisqu'il donne la possibilité à Panoramic d'attendre l'évènement du click sur le picture par l'instruction END.

Tu dis qu'en absence de END, le END est automatique. Oui, certes, mais le programme ne bascule alors JAMAIS dans le "mode évènementiel", ou plutôt si: exactement après avoir exécuté la dernière instruction de ton programme, mais il n'y a AUCUN sous-programme évènement qui peut être appelé pour traiter l'évènement s'il arrive, et tous les évènements sont ainsi "perdus", c'est-à-dire ne produisent aucun effet.

Note concernant les SCENE2D: cet objet ne peut effectivement recevoir un évènement on_click, mais on ne peut PAS lire la position du curseur ! C'est comme ça.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 2:03

Ok merci de tes précisions Maitre Klaus Wink

Citation :
2. On place la commande END à la fin de cette phase de préparation. On passe alors en "mode évènementiel". Le noyau de Panoramic prend la main et ne fait rien d'autre qu'attendre un évènement pour lequel un sous-programme a été déclaré dans la phase précédente. SI un tel évènement arrive (un click sur un picture, par exemple), le noyau de Panoramic appelle alors le sous-programme associé comme si le programmeur avait fait un GOSUB.
Ce que tu dis là confirme ce que je dis précédement non ?
C'est à dire que le on_click n'a pas besoin d'être dans une boucle puisque panoramic lit les evennements des objets.

Pour le scene2D c'est vraiment dommage :/

Comment faire dans ce cas, pour placer un sprite à la position du click ?
Revenir en haut Aller en bas
Klaus

Klaus


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 2:31

1. Le on_click n'a effectivement pas besoin d'être dans une boucle. Mieux, il ne devrait pas être dans une boucle, mais dans la partie linéaire, exécutée une seule fois, au début du programme, et AVANT la commande END. Et le sous-programme déclaré par la commande on_click DOIT être APRES la commande END. Regarde encore une fois le prpgramme de JL35 - c'est un bon exemple.

2. Effectivement, c'est dommage qu'on ne puisse pas récupérer la position d'un click sur une scene2d. Il faut effectivement utiliser d'autres moyens (les flèches, des touches de déplacement, des boutons agissant comme des flèches, ...). Tu peux par exemple placer un picture en peu plus grand dans la form, placer une scene2d un peu plus petite par-dessus le picture, et utiliser le "bord" du picture qui reste visible pour intercepter la position du click, per exemple en décidant que:
25 % de gauche du bord haut déplacent un sprite d'un cran à gauche ET en haut
50 % du milieu du bord haut déplacent un sprite d'un cran en haut
25 % de droite du bord haut déplacent un sprite d'un cran à droite ET en haut
25 % du haut du bord droit déplacent un sprite d'un cran à droite ET en haut
50 % du milieu du bord droit déplacent un sprite d'un cran à gauche
25 % du bas du bord droit déplacent un sprite d'un cran à droite ET en bas
et ainsi de suite pour le bord bas et gauche. A toi d'avoir de l'imagination...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 8:14

@dragonno,

lit ce sujet et tu comprendras que,avec un peut de patiente, tu pourras bientôt utiliser les commandes MOUSE sur un scene2d: https://panoramic.1fr1.net/a-l-aide-f6/comment-capter-les-coordonnees-de-la-souris-dans-un-scene2d-t1154.htm

Cela dit, cela n'enlève rien au conseil de Klaus et JL35.

A+
Revenir en haut Aller en bas
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 12:51

Citation :
Et le sous-programme déclaré par la commande on_click DOIT être APRES la commande END.
Oui oui maitre Klaus, c'est bien ce que je fais dans mes codes Wink
(Mais je comprend pas pourquoi tu me fais la remarque puisque je l'applique déjà oO )
Pas dans ce code c'est vrai car c'est juste un extrait de mon programme montré en entier ailleurs, et qui lui comporte exactement la bonne façon d'utiliser le On_click.

Maitre Klaus, merci pour ton idée pour les bords (25% etc) .
En fait ce que je veux faire c'est pouvoir cliquer sur un élément du menu (personnage, batiment ect) et le placer à un endroit de la map (scene2D) par un click.

Ok Jean-Claude je regarde ça (et merci) Ah ok Wink







Dernière édition par dragonno le Ven 26 Nov 2010 - 13:04, édité 1 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 12:59

@Dragonno:

Eh bien, c'est tout simplement parce que le seul programme que tu as mis en ligne à ce sujey dans ce fil de discussion n'a pas de END ni on_click... à moins que j'ai la berlue. Mais si tu l'as fait ainsi, tant mieux.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 13:03

Oui oui tu as raison, dans CE fil de discussion ce n'est qu'un extrait comme je viens de le dire précédement.
Donc je comprend :/

EDIT : réparation de la lettre Q oubliée dans mon post précédent, dans le mot "remarque" Wink

Et pour ça, pas d'idées ou d'astuces ?
Citation :
En fait ce que je veux faire c'est pouvoir cliquer sur un élément du menu (personnage, batiment ect) et le placer à un endroit de la map (scene2D) par un click.
Je suis bloqué à cause du manque de la lecture position click du scene2D.
Si j'utilise un picture au lieu d'un scene2D pour la map, je serais bloqué aussi par un autre manque qui est la transparence des pictures.

A ce stade la création d'un éditeur de map est difficilement réalisable avec panoramic je crois :/
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 14:35

Citation :
Le On_click n'a pas besoin d'être dans une boucle,...
Citation :
Ce que tu dis là confirme ce que je dis précédement non ?
C'est à dire que le on_click n'a pas besoin d'être dans une boucle
ou as-tu vu dans mon exemple que le on_click était dans une boucle ?
Le on_click prépare le traitement de l'événement clic souris, qui est traité dans le sous-programme clic à chaque fois qu'il intervient.
Revenir en haut Aller en bas
Klaus

Klaus


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 14:57

@Dragonno:
Je crains que tu n'aies raison. En l'état, on ne peut pas indiquer un endroit "cible" par un clic dans une scene2d. Tout ce que tu peux faire, c'est contourner le problème: soit en chargeant ton élément dans un sprite et déplacer le sprite par une des méthodes possibles, soit en chargeant un réticule dans un sprite transparent, déplacer ce réticule de la même manière, puis valider l'emplacement et remplacer le réticule par l'image que tu veux mettre.

Je me rends compte que ces deux méthodes sont équivalentes. Elles se résument à déplacer un sprite à l'aide de touches.

Tiens, j'ai une idée. Tu pourrais créer un picture de la dimension de la scene2d, et ce picture serait normalement caché (par HIDE). Lorsque tu cliques sur ton menu, tu copies le contenu de la scene2d dans le picture, et comme ce n'est pas dans une boucle de traitement, mais une seule exécution sur demande de l'utilisateur, tu peux simplement faire un file_save de la scene_2d, puis un file_load dans le picture. Puis tu montres le picture, par exemple exactement aux coordonnées xy de la scene2d, et là, tu peux cliquer pour sélectionner l'endroit, tu récupères le clic par on_click sur le picture et tu mémorises les coordonnées. Lorsque ton endroit est sélectionné, tu caches le picture à nouveau (par HIDE) et tu installes un sprite aux coordonnées choisies.

A l'ecran, cela ne change rien: le picture remplace la scene2D. Si jamais il y a des problèmes de Z-order entre picture et scene2d, il suffit de faire ce couple hide scene2d/show picture...hide picture/show scene2d.

Est-ce que cela pourrait être une solution pour le problème que tu me soumets ? J'ai déjà utilisé plusieurs fois cette technique, non pas avec des scene2d, mais avec des picture recouvrant d'autres objets, pour pouvoir sélectionner des parties difficilement d'accès autrement. A condition de charger le contenu du picture AVANT de faire show picture, il n'y a pas de perturbation d'affichage.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 20:20

Je ne connais rien et je manque d'inspiration pour ce type de programme.
Mais voulu voir par curiosité.

Voyez si ceci peut vous servir. Ce n'est pas formidable.
Code:



label teste_mouse  :dim x%,y%,a%
scene2d 1:width 1,300:height 1,140 :left 1,20:top 1,20
sprite 1
sprite_target_is 1
sprite_file_load 1,"C:\image\Ftmp.bmp":' mettre votre photo, surtout si vous êtes beau!

on_click 1,teste_mouse

timer 2
edit 3:top 3,150:width 3,200
on_timer 2,teste_mouse :timer_interval 2,40

end
teste_mouse:
timer_off 2
hide 1
repeat
x%=mouse_x_position(0)
y%=mouse_y_position(0)
text 3,str$(x%)+"  "+str$(y%)
sprite_position 1,x%,y%
if scancode =27 then exit_for
until x%=mouse_x_position(0) and y%=mouse_y_position(0)
show 1

timer_on 2
return


C'est pas formidable, mais peut-être d'avancer un peu en attendant les commandes spécifiques à scene2d
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 20:45

Je répète ce que je disais dans le post que cite Jean-Claude:

Citation :
Les fonctions suivantes pourront être utilisées avec un SCENE2D dans la prochaine version:

mouse_x_position(N)
mouse_y_position(N)

mouse_right_down(N)
mouse_right_up(N)
mouse_left_down(N)
mouse_left_up(N)

mouse_x_right_down(N)
mouse_y_right_down(N)
mouse_x_right_up(N)
mouse_y_right_up(N)

mouse_x_left_down(N)
mouse_y_left_down(N)
mouse_x_left_up(N)
mouse_y_left_up(N)

Cette version devrait sortir d'ici quelques jours: encore quelques fiches à écrire, changer FOG_DISTANCE par FOG_DISTANCE_MIN et FOG_DISTANCE_MAX, et ...
... la fonction VARIABLE("V") qui renvoie 1 si V est une variable.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptyVen 26 Nov 2010 - 22:59

JL35 : je faisais juste référence à ça :
Citation :
Ton test sur la souris se déroule une seule fois, au lancement, et puis on n'y revient plus,
La phrase m'avait fait penser que c'était une boucle dont il s'agissait Wink

Klaus : Ta solution provisoire est une bonne idée, celle de travailler avec un couple "picture/scene2D" il faut que je la tourne et retourne dans mon tit cerveau pour voir ce que je peux faire avec Wink

Et pour cette idée là je vois pas trop où le déplacer le réticule ou le sprite puisque je ne connais pas la position du click :
Citation :
contourner le problème: soit en chargeant ton élément dans un sprite et déplacer le sprite par une des méthodes possibles, soit en chargeant un réticule dans un sprite transparent, déplacer ce réticule de la même manière, puis valider l'emplacement et remplacer le réticule par l'image que tu veux mettre.

Cosmos : Merci pour ton code, je vais le tester Wink

Jack : Je vais user de patience Wink Merci de prendre le temps de t'occuper de tout ça ^^
Et à propos de ça :
Citation :
la fonction VARIABLE("V")
les guillemets c'est vraiment utile ?
Je cherche à me rendre moins compliqué l'écriture des instructions Wink
(comme y a déjà les parenthèses qui sont utiles)
J'ai fais une liste d'ajouts dans le topic concerné, je dis ça pour que le post ne s'enfonce pas dans les entrailles du forum avec le temps.
Pour les fonctions souris sur le scene2D toutes ne sont pas urgentes si tu n'a pas le temps, par contre la position x et y du click un peu plus Wink

EDIT :
J'ai testé ton code Cosmos, ça m'a l'air utile à ce que je veux faire je vais approfondir ça pour voir.
C'est sympa le sprite qui colle au curseur se déplaçant.
Et j'ai mis ma photo même si je suis pas beau, c'est grave docteur ?
Code:
sprite_file_load 1,"vie.bmp":' mettre votre photo, surtout si vous êtes beau!
J'ai peur que ça marche pas avec une photo moche Wink

Revenir en haut Aller en bas
Klaus

Klaus


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptySam 27 Nov 2010 - 0:42

@Dragonno:

1. pour cette histoire du réticule, l'idée c'était de charger l'image bitmap d'un réticule sur fond noir dans un sprite et de déplacer ce sprite via les touches du clavier - les flèches ou autres. Mais je pense que l'idée d'associer un picture à un e scene2d et d'afficher l'un ou l'autre selon les circonstantes est meilleure, car elle mermet d'utiliser la souris pour cliquer.

2. la fonction variable('"V") a essentiellement besoin des guillemets. Car, si tu ne mets pas de guillemets, la variable V doit exister et est passée par valeur ce qui serait un comble pour une fonction qui doit tester si une variable existe. Mais tu pourras certainement faire:
dim a$
a$ = test%
if variable(a$)<>1 then message "la variable test% n'existe pas !"

@Jack:

Je suis très content de voir apparaître la fonction variable() qui réalise quelque chose que j'attends depuis longtemps. Est-ce qu'on peut espérer quelque chose de similaire pour les labels ? Genre label%("essai") qui retournerait 1 si le label essai existe et 0 ou autre chose sinon.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptySam 27 Nov 2010 - 11:10

Citation :
la fonction variable('"V") a essentiellement besoin des guillemets. Car, si tu ne mets pas de guillemets, la variable V doit exister et est passée par valeur ce qui serait un comble pour une fonction qui doit tester si une variable existe.
Tout à fait !
Que j'aime ce genre de réponse, qui montre une compréhension à 100% de ce qui se passe réellement !

Et pour reprendre l'exemple de Klaus, mais avec cette fois des guillemets dans la ligne a$="test%" (ce que Klaus a oublié) :

1 - exemple 1:
Code:
dim a$

a$ = "test%"
if variable(a$)<>1
 message "la variable test% n'existe pas !"
else
 message "la variable test% existe !"
end_if
On obtient un MESSAGE indiquant: la variable test% n'existe pas !"

2 - exemple 2:
Code:
dim a$,text%

a$ = "test%"
if variable(a$)<>1
 message "la variable test% n'existe pas !"
else
 message "la variable test% existe !"
end_if
On obtient un MESSAGE indiquant: la variable test% existe !"

Je regarde pour faire une fonction LABEL(), quitte à retarder la sortie de la V 0.9.20 de quelques jours.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


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

Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? EmptySam 27 Nov 2010 - 11:27

Jack, c'est extra. Voilà des fonctions qui vont très sérieusement faciliter l'utilisation de morceaux de code mis en commun, intégrer des outils d'autres panoramiciens etc.

Autre chose. pour rester dans le sujet de ce fil de discussion, j'avais proposé à Dragonno de superposer son scene2d par un picture caché. Au moment de vouloir cliquer dans la scene2d, je proposais de sauver le contenu de la scene2d dans un fichier BMP, de charger de fichier dans le picture, montrer le picture puis cacher la scene2d. Or, je constate ce matin que la commande FILE_SAVE n'est pas supporté par l'objet SCENE2D. Pourquoi ? Cet objet supporte bien la command FILE_LOAD. Pourquoi pas son inverse ? Il y a peut-être des difficultés à récupérer l'aspect visuel à cause des sprite ? Ou peux-tu simplement sauvegarder le canvas servant à l'affichage (si c'est fait comme ça...) ?

J'avais fait un petit essai. Il met cela en évidence. Le programme marche sans FILE_SAVE, mais c'est dommage.
Code:
label click_1,click_10


button 1 : top 1,10 : left 1,10 : caption 1,"Choix" : on_click 1,click_1
check 2 : top 2,10 : left 2,120 : caption 2,"Avec FILE_SAVE"
picture 10 : hide 10 : top 10,100 : left 10,100 : width 10,200 : height 10,200
scene2d 11 : show 10 : top 11,100 : left 11,100 : width 11,200 : height 11,200
on_click 10,click_10
file_load 11,"test scene2d-picture.bmp"
end

click_1:
inactive 1
if clicked(2)=1
    file_save 11,"temp test scene2d-picture.bmp"
    file_load 10,"temp test scene2d-picture.bmp"
else
    file_load 10,"test scene2d-picture.bmp"
end_if
show 10 : hide 11
return

click_10:
message "X="+str$(mouse_x_left_down(10))+" Y="+str$(mouse_y_left_down(10))
show 11 : hide 10 : active 1
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Lire position souris sur un scene2D ? Empty
MessageSujet: Re: Lire position souris sur un scene2D ?   Lire position souris sur un scene2D ? Empty

Revenir en haut Aller en bas
 
Lire position souris sur un scene2D ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Position de la souris.
» Position de la souris sur un objet à travers d'autres objets
» Comment capter les coordonnées de la souris dans un SCENE2d
» scene2d et jpg ?
» Bug Scene2d

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: