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
» PANORAMIC V 1
On_Sprite_Click N,L Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
On_Sprite_Click N,L Emptypar jjn4 Hier à 17:00

» number_mouse_up
On_Sprite_Click N,L Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
On_Sprite_Click N,L Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
On_Sprite_Click N,L Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
On_Sprite_Click N,L Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
On_Sprite_Click N,L Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
On_Sprite_Click N,L Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
On_Sprite_Click N,L Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
On_Sprite_Click N,L Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
On_Sprite_Click N,L Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
On_Sprite_Click N,L Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
On_Sprite_Click N,L Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
On_Sprite_Click N,L Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
On_Sprite_Click N,L Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 On_Sprite_Click N,L

Aller en bas 
+4
Klaus
Jean Claude
Jicehel
Yannick
8 participants
Aller à la page : 1, 2  Suivant

Soutenez vous ces deux commandes ?
Oui
On_Sprite_Click N,L Vote_lcap78%On_Sprite_Click N,L Vote_rcap
 78% [ 7 ]
Non
On_Sprite_Click N,L Vote_lcap22%On_Sprite_Click N,L Vote_rcap
 22% [ 2 ]
Total des votes : 9
 
Sondage clos

AuteurMessage
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 15:09

On_Sprite_Click N,L

Démarre le sous menu L lors du click sur le Sprite N.

Number_Sprite_Click()

Renvoit le numéro du sprite cliqué

Cela serait d'un secours gigantesque pour les jeux en 2D, merci Jack !


Dernière édition par ygeronimi le Mar 19 Mar 2013 - 15:53, édité 1 fois (Raison : Ajout du sondage)
Revenir en haut Aller en bas
Jicehel

Jicehel


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 16:21

J'ai voté. Si c'est techniquement possible, ce serait bien. Le truc c'est que pour le moment, les sprites manquent de fonction pour être vraiment utilisés.

Après, pour le moment, je crois qu'il y a des raisons techniques qui font que ce n'est pas fait et dans ce cas, à Jack de voir comment il s'organise avec le peu de temps dont il dispose pour gérer ça dans sa liste de priorités ...
Revenir en haut Aller en bas
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 16:49

Comme je l'ai écrit dans un autre post, j'ai mis le sondage pour que Jack
puisse voir le nombre de Panoramiciens qui souhaitent ces commandes.
Peut être que si chaque demande est accompagné d'un sondage, Jack pourra faire
un tri de priorité selon les votes, même si aux yeux des demandeurs la leur est toujours
prioritaire sur les autres... Laughing

Pour l'instant, je ne suis pas élu... Laughing

Votez pour Mouha !!!!

lol!
Revenir en haut Aller en bas
Invité
Invité




On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 18:38

Bonsoir Ygenomini.

Ça va pas être facile pour moi, car franchement je suis plus que frustré de voir comment les choses se passent!
Il va y avoir une réaction contre ce que je dis, et patati, et patata, et tant-pis, si je choc.
Je n'ai rien contre la proposition que tu fais, mais il y a le résultat de vos demandes.
Je suis inscrit depuis août 2008. Il y a des demandes qui ont été faites depuis ce temps. Quatre ans où je vois les demandes que moi et d'autres ont faite, et pour lesquelles Jack a mis dans sa liste d'alors, et situé dans les prochaines de ces priorités. Seulement j'estime que j'ai été trompé. Si j'avais su que nos commandes ne viendraient pas, j'aurai quitté alors Panoramic. Je ne l'ai pas fait, car je pensais qu'il me faudrait plus de temps pour apprendre un autre langage, que de voir apparaître ce qui était dit.
Il y a 4 ans, on ne m'a pas dit, que des programmes, il n'en restera que des jeux. De toute façon en Panoramic, ça m'étonnerait que ce soit cela qui restera. En TONIC, surement, car c'est la finalité de ce langage.
Vous (je ne parle pas que de toi Ygenomini) qui êtes venue bien après, avec vos demandes sur les jeux, vous êtes passé devant. Je me retrouve comme un con. Je ne vais pas faire l'inventaire de tout ce que j'ai laissé de côté, à cause de ce changement de priorité, et de toute façon, vous n'en avez rien à f....

J'ai dû décider il y a quelque temps, de faire mes propres commandes Panoramic à Delphi pour m'en sortir. J'en suis à une deuxième reprise, car il a fallu que je comprenne comment je devais m'y prendre. Car au départ Delphi je ne connais pas. À part avec l'IDE, placer des objets sur une forme, et voir comment cela se goupille. Et maintenant j'avance. J'ai faits quelques fonctions de départ, dépouillé la méthode, et depuis une quinzaine de jours j'étais bloqué. Je n'arrivais pas à lire avec des fonctions, des variables (globales pour ainsi dire) qui faisait partie de l'ensemble du programme. Ce stade est dépassé, et jusqu'à hier soir, je ne voyais pas comment avec Delphi, pouvoir créer des objets avec des variables, et les retrouver ou modifier ensuite. Maintenant j'ai la solution, et ça marche, donc je peux reprendre mon travail (pourtant j'ai pu voir sur des demandes d'autres comme moi, que ce n'était pas possible.) J'espère maintenant que je vais pouvoir avancer, et pouvoir faire ce dont j'ai besoin. Sur la majorité des choses, je sais comment faire. Maintenant Panoramic, je serais toujours insatisfait. Toujours allez me faire voir ailleurs. Et vous comprendrez pourquoi j'apparais comme étant le ronchon de ce forum.

Tu veux tes commandes, tu as raison, tu passeras toujours devant moi, même si Jack intervient et dit le contraire. Vous avez mon opinion. Panoramic est un formidable langage basic, vais on ne veut pas le décanter. Il est temps pour moi de m'écarter, et vous laisser avoir ce que vous voulez. Ne vous en défendez pas, vous aurez toujours raison sur moi. Je prends la décision de ne venir voir qu'une fois par semaine, moins de frustration.

Je ne sais pas quelles seront vos réactions, mais il est temps pour moi d'obtenir ce que je veux.

Bonne continuation pour ce forum. Il est quant-même plus vivant et réactif que ceux que je vois ailleurs.

A propos, pour ces raisons, j'ai répondu non, malgrès que je comprenne l'utilité.
Revenir en haut Aller en bas
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 19:06

Je suis désolé pour toi... Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad

Je ne suis pas le concepteur de ce langage et comme toi j'envoie des bouteilles à la mer.
Elles reviennent parfois avec un petit cadeau, parfois non.

Par contre, j'ai du mal à comprendre ton vote.
J'ai lancé ( avec le sondage ) une idée en l'air.
Là, je la prend sur le coin de la gueule, aïe!!!...
tant pis pour moi.

Ton vote est bien gaulois, on vote contre ce que l'on aime ou veut
parce que ce n'est pas présenté par qui l'on veut... scratch

J'espère que tu ne dis pas "non,merci" à ton patron
quand il veut t' augmenter... Laughing Laughing Laughing


Dernière édition par ygeronimi le Mar 19 Mar 2013 - 20:09, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 19:41

Je te te rembarre pas. J'ai rien contre toi. En ce moment tu fais marcher le forum, et tu deviens un deuxième Klaus en quelque sorte, par la vitesse où tu mets tes programmes, et bravo.
Mais j'ai expliqué pourquoi j'ai dis non, et pour l'augmentation, il y a longtemps je ne n'ai plus de patron, et faisant parti du monde ouvrier, beaucoup de ce forum apprécient de voir des augmentations, en refusant celles de ceux de leurs vassales.

Il y a un mois, j'ai perdu mon meilleur copain, et je peux te dire que c'était une personne qui était apprécié. Il avait 4 ans de plus que moi, c'est à dire le temps que je suis inscrit. Etant du monde ouvrier, je ne sais pas si j'irais jusque là. Donc mes demandes sont au placard, et c'est les tiennent qui passe devant. Je dis non car avant les tiennes ce sont les anciennes qui doivent passer. Et je me fous de savoir si il ne restera que des jeux sur ce forum, on ne m'a pas fait cette remarque au départ.

Tu sais tout, et tu feras avec, mais ne t'en fait pas, tu passeras devant. Moi je ne compte plus. Après ces notes négatives, je vais passer à l'apéro, et changer d'atmosphère.
drunken Ne t'en fait pas aussi, mes remarques n’empêcheront rien, et je suis minoritaire. Tu gagnes à tous les coups.
Revenir en haut Aller en bas
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 20:04

C'est bien le seul endroit où je gagne quelque chose... Laughing


NB : Si vous avez besoin d'un chat noir... je loue mes services !!! Laughing Laughing Laughing


PS : Tu vois cosmos 70, tu n'es pas tout seul à être contre... Laughing Mais au moins, toi, tu m'as dit pourquoi.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 21:11

Hum Cosmos, perso, je ne vois pas ça comme toi.
Le seul qui mène la barque c'est Jack et il a sa ligne directrice qui lui est propre.
Nous nous faisons des demandes qui vont soit dans le sens ou il veut aller ça dans un autre.
Il ajoute donc des fonctions à Panoramic ou le restructure.
A nous de voir avec ses possibilités pour en tirer le plus possible.
Après il y a Klaus qui résoud la plupart de nos problèmes techniques grâce à sa DLL. C'est une solution temporaire et évolutive, certes mais en attendant quand on a un besoin spécifique, ça résoud le problème.
Après, es-tu certain que Jack se souvienne de tes demande d'il y a plus de quatre ans ?
C'est vrai qu'un post sur le forum avec les demandes des Panoraciens prise en compte par Jack avec leur status et niveau de priorité dans la todo list serait pratique. Chacun saurait à quoi sans tenir (dans ton cas, si ça fait 4 ans que tu attends un amélioration, si tu voyais quelle était en bas ou en haut de la pile, je pense que ça t'aiderait en effet à faire tes propres choix ou tes recherches de solutions).
Revenir en haut Aller en bas
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 21:24

J' ajouterai à ce que vient de dire Jicehel que peut être
serait il bon de réactiver tes demandes de temps en temps
ne serait ce que pour les faire remonter dans le fil de discussion.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 21:42

Restons Zen!

@Cosmos tu dis que tu es frustré et je crois que tu n'es pas le seul. Laissons les choses se faire. Toutes ces demandes sont légitimes et les tiennes aussi.
Je sais que c'est long parfois d'attendre, mais çà fait parti du "jeu". Jack étant maître de son logiciel (et c'est normal) il faut savoir attendre, le peu (ou plutôt le maximum) de temps qu'il y consacre est déjà beaucoup.
Je te rejoins sur la priorité au jeu, que Jack fait (certainement par goût), mais que veux-tu c'est ainsi et il faut faire avec.
Personnellement je ne peux pas reprocher à Jack de faire ce qui lui plait en priorité.
Il nous reste du temps devant nous.....

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 22:44

Je trouve que toute cette discussion, pour intéressante qu'elle soit, trouverait mieux sa place dans la rubrique "Présentation et bavardage" que dans une discussion à priori "technique" sur l'opportunité d'une amélioaration ou d'un ajout de fonctionnalité. Enfin, c'est mon avis.

Pour en revenir à l'objet de ce fil de discussion: la commande ON_SPRITE_CLICK et la variable système NUMBER_CLICK. De mon point de vue, c'est un ajout bien plus facile à réaliser que ce que j'ai suggéré, pour ma part, dans mes propositions récentes. Et voilà pourquoi:
1. L'ajout d'une variable système est probablement la modification la plus simple qui soit, à faire pour Jack. Je ne veux même pas revenir sur l'aspect technique de ce point.
2. La réalisation d'une commande ON_SPRITE_CLICK (et la commande OFF_SPRITE_CLICK qui va avec), n'est certainement pas non plus d'une complexité énorme. Les SPRITE font partie de la gestion des SCENE2D qui est faite intégralement à l'intérieur de Panoramic, sans recourir à des fonctions Windows qui imposeraient un comportement ou un autre. Panoramic gère de façon interne une liste des SPRITE avec leur caractéristiques, et en particulier leur position et leurs dimensions. De là à déterminer sur quel SPRITE on a cliqué, c'est un simple parcours de listes et un test du genre
Code:
  if PtInRect(rect, pt) then result := 1
                        else result := 0;
qui se fait en une ligne en Delphi, comme on peut le voir (c'est ce que je fais dans la fonction IsPointInRectangle de KGF.dll). Et les évènements existants sont la création exclusive de Jack, qui, en fonction de certains critères, déclenche un traitement Panoramic. Il suffirait d'ajouter un traitement: si "click dans un SPRITE" alors "déclencher un traitement", dont le nom de la routine doit avoir été memorisé (dans une table supplémentaire, certes) pour chaque SPRITE. Et en même temps, on charge NUMBER_SPRITE_CLICK avec le numaro du SPRITE et NUMBER_CLICK avec le numéro du SCENE2D.

Je demande pardon à Jack de prendre la parole à ce sujet, et je ne souhaite en aucun cas me substituer à lui, qui est bien sûr seul maître à bord. Je réponds d'une part à Jicehel au sujet de sa remarque sur les dificultés techniques, et je m'adresse aux autres pour montrer que cet ajout n'est pas forcément un truc insurmontable.

Ce qui est certain, c'est que cela constituerait un apport très important pour les réalisateurs de jeu 2D. Avoir des SPRITE qui réagissent à on click - quelle facilité pour programmer des jeux !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMar 19 Mar 2013 - 23:14

Absolument Klaus, je ne pense pas que cette modification soit des plus complexe à mettre en oeuvre.
J'essayais juste de répondre à Cosmos par rapport à ses demandes. En tout cas comme dit plus haut, je suis pour ces ajouts.
Revenir en haut Aller en bas
papydall

papydall


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 0:17

Bien que je n’eusse jamais essayé d’utiliser les sprites dans mes codes, j’ai voté pour !
Je pense que toute évolution de PANORAMIC est la bienvenue.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 0:19

Je vais arrêter d'intervenir sur ce sujet après avoir apporter cer dernier points.
Vos souhaits d'amélioration de Panoramic sert justement à cela. Mais ce que je n'aime pas, c'est le sondage. Pourquoi un sondage?: Pour mettre devant toutes les autres demandes en avant plan, et repousser les autres. Il est évident que je suis d'accord pour cette commande, et je ne m'en cache pas. Mais déjà que c'est une demande sur laquelle Jack affectionne, donc elle passe devant, mais en plus on veut mettre devant les arguments que qu'il laisse le reste de dôté, et prendre celle-là devant. Je trouve cela un peu fort.
Je n'ai jamais en faisant une demande, fait le forcing pour qu'un sujet qui m'intéresse, soit mis devant. Je m'en serais voulu, et c'est pas dans mes principes. Mais vous agissez comme d'une autre manière, et permettez moi de le dire, je ne suis pas d'accord. Cela me semble incorrect pour tout ceux qui était devant. Plus d'une fois Jack a dit qu'il mettait les demandes dans sa To-list comme vous dites, et qu'il essayait de la prendre à la suite (et c'est aussi vrai qu'il y a longtemps qu'il ne le dit plus) et chaque fois il déroge à cette règle. C'est pas du jeu. Si Jack avait dit :'je prendre compte de la demande, mais je ferais mon langage comme je l'entend, cela aurait été différent. Tout en gardant Panoramic, car comme dit Jean-Claude;
Citation :
J'aime Panoramic car c'est un langage simple et performant
et permet de faire des programmes performant, comme j'ai pu en faire, et vous aussi, j'aurai aussi appris un autre langage pour faire les choses qui m'ont remis à programmer. Car j'ai des programmes que je voudrais absolument faire, et que je ne peux pas.
Un dernier point:
Citation :
Par contre, j'ai du mal à comprendre ton vote.
J'ai lancé ( avec le sondage ) une idée en l'air.
Là, je la prend sur le coin de la gueule, aïe!!!...
tant pis pour moi.
Je pense qu'il y a une exagération dans ce propos. Cela voudrais dire qu'on a le droit de penser comme toi, mais que je n'ai pas le droit de voter contre. Drôle de sondage.

J'en ai marre de faire des tartines pour expliquer peut de chose. Je m’arrête là et je ne fais plus aucune réponse sur ce sujet. Et il ne m'intéresse pas de rouvrir un sujet de bavardage la dessus. Vous avez mon opinion, et vous avez le votre. Et moi par contre vos opinions, je les considère comme valable. C'est ça la démocratie. C'est d'avoir une opinion différente, et non pas penser que' je la fous dans le coin de la g....'.

Bonsoir, Bonne nuit! Faites les commentaires que vous voulez. Pour moi c'est clos. Tout a été dits. Et ce n'est que mon point de vue, comme je pense avoir le droit d'avoir.
De toute façon je ne ferais plus de demande.
Sleep Sleep Sleep Sleep Sleep Sleep
Revenir en haut Aller en bas
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 0:55

Moi aussi j'en ai plein le "bip..." de me justifier mes propos !
Je proposais de joindre un "sondage" car c'est le nom que cela porte dans l'éditeur du forum,
pour que Jack est une idée de combien de panoramiciens sont intéressés par la demande .
Si sur 100 avis exprimés 90 on dit oui, c'est que c'est une commande attendue par une majorité
et plus nécessaire à la vie du langage qu'une demande ou seulement 2 sur 100 ont dit oui .
Ce n'était rien de plus qu'une proposition et tout un chacun est libre de le faire ou pas !
Tu dis que je n'acceptes pas ton choix de dire. Mais si ! je l'accepte ! ce sont tes arguments qui sont bidons !
Tu me dirais , non, il y a des instructions qui me paraissent plus importantes avant avec un petit exemple,
j'applaudirai des deux mains, en me disant oui effectivement c'est vrai ou en contre argumentant.
Là tu me dis oui mais je vote non... scratch

Et puisqu'il en va ainsi, je stoppe mes demandes et ....
Revenir en haut Aller en bas
Jack
Admin
Jack


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 21:35

Pouvoir cliquer sur un SPRITE est une fonction qui manque à un SCENE2D.
Mais terriblement difficile à faire. Car l'image qui s'affiche sur le SCENE2D est le résultat d'une fusion du fond et des sprites: ce n'est rien d'autre qu'une image.
C'est comme si je prenais une rue en photo et que je veuille cliquer sur la voiture rouge en stationnement ... alors que ce n'est qu'une tache colorée d'une image ...
Ce qui est possible de faire, c'est d'introduire la notion de curseur et d'affecter un sprite au curseur de la souris (croix, rond, carré, ...) et de tester la collision du curseur avec un sprite du SCENE2D.

Il manque aussi d'autres choses importantes au SCENE2D: la collision des sprites (par "pixel perfect" ou par rectangle englobant) et une "profondeur" qui permettrait à des sprites de passer dessus ou dessous d'autres sprites.
Tout cela, j'ai l'intention de le faire. Mais il me faut le temps de les mettre en place...
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Froggy One

Froggy One


Nombre de messages : 586
Date d'inscription : 06/01/2012

On_Sprite_Click N,L Empty
MessageSujet: Commentaire inutile... mais ça fait du bien !!!   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 21:50

Patience, courage, zénitude... Moi j'aimerais que... Non, je plaisante!

VIVE LE TRAVAIL D’ÉQUIPE !!!


Déjà que seul, je n'arrive pas à faire tout ce que je veux pour moi, alors en groupe...
Revenir en haut Aller en bas
http://gaeldwest.wordpress.com
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 22:59

Merci de ta réponse Jack,

Il me semblait bien qu'il y avait un problème technique à la chose. Wink

Je prends donc mon mal en patience... Laughing
Revenir en haut Aller en bas
papydall

papydall


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyMer 20 Mar 2013 - 23:06

Hélas, on ne peut pas te donner un peu de temps de notre temps, Jack !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyJeu 21 Mar 2013 - 1:09

@Jack:
Voici une simulation de l'identification du sprite cliqué en Panoramic pur. L'exemple utilise deux sprites, un tableau contenant, pour chaque sprite, son numéro, la largeur et sa hauteur. Lors d'un clic dans le scene2d, on parcourt cette liste et on teste si le clic correspond à un rectangle du sprite. La boucle parcourt la liste de la fon vers le début pour tenir compte de la superposition des sprites:
Code:
label click
dim i%, x%, y%, ns%
dim number_sprite_click%

scene2d 1 : on_click 1,click

ns% = 2 : ' 2 sprites
dim sprites%(ns%,2)

sprite 1 : sprite_position 1,300,10
sprite_file_load 1,"file_1.bmp" : ' ex: taille 30x100 pixels
sprites%(1,0) =  1 : " numéro du premier sprite
sprites%(1,1) = 300 : ' largeur du premier sprite
sprites%(1,2) =  10 : ' largeur du premier sprite

sprite 2 : sprite_position 2,10,50
sprite_file_load 2,"file_2.bmp" : ' ex: taille 120x120 pixels
sprites%(2,0) =  1 : " numéro du premier sprite
sprites%(2,1) = 120 : ' largeur du premier sprite
sprites%(2,2) = 120 : ' largeur du premier sprite

end

click:
  number_sprite_click% = 0  : ' supposer "aucun sprite n'est cliqué"
  x% = mouse_x_left_down(1)
  y% = mouse_y_left_down(1)
  for i%=ns% to 1 step -1  : ' boucle sur les sprites existants
    ' test si l'abscisse du clic correspond à ce sprite
    if x%>=sprite_x_position(sprites%(i%,0)
      if x%<(sprite_x_position(sprites%(i%,0))+sprite_x_position(sprites%(i%,1)))
        ' test si l'ordonnée du clic correspond à ce sprite
        if y%>=sprite_y_position(sprites%(i%,0)
          if y%<(sprite_y_position(sprites%(i%,0))+sprite_y_position(sprites%(i%,2)))
            ' alors on a identifié le sprite
            number_sprite_click% = sprites%(i%,0)
            return
          end_if
        end_if
      end_if
    end_if
  next i%
  return
 

En Delphi, ceci est infiniment plus simple, à l'aide de la fonction PtInRect() de Delphi.


Dernière édition par Klaus le Jeu 21 Mar 2013 - 16:03, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyJeu 21 Mar 2013 - 2:04

Vérifies Klaus, j'ai des messages d'erreur "Not logical expression"

Mais bon si y'a moyen de moyenner çà dans une dll... Laughing

Je vois que pour le moment, il me faut passer par des tableaux de variable pour recréer des grilles de valeur
et au bout d'un moment une chatte n'y retrouve plus ses petits... Laughing
Et ce n'est valable que sur des positions définies vers des positions définies.
Je n'ose même pas imaginer sur des positions non définis ou là les tableaux devraient prendre en compte chaque pixel... affraid
Essayes de visualiser pour un scene2d de 800x800 drunken

Edit : rassures toi, je n'ai pas encore d'inspiration pour un tel jeu Laughing


J' en remets une couche car j'arrivais pas à l'exprimer tout à l'heure:

le fait que le sprite devienne un objet avec son numéro cliquable et par conséquent que l'on puisse récupérer
le numéro du sprite cliqué fait qu'au lieu d'affecter des valeurs sur le scene2d on les affecterait au sprite... geek et là...
...çà devient presque un jeu d'enfants ....
Revenir en haut Aller en bas
Klaus

Klaus


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyJeu 21 Mar 2013 - 16:24

J'ai corrigé deux lignes - il y avait une parenthèse fermante en trop. Ce code a été saisi directement dans la page du forum, sans passer par l'éditeur. C'est juste pour montrer le principe:
1. on a un tableau contenant 3 informations pour chaque sprite:
- son numéro
- sa largeur
- sa hauteur
sa position x et y est connue par les fonctions sprite_x_position() et sprite_y_position(), donc pas besoin de les mémoriser
2. pour chaque clic dans le scene2d, on obtient les coordonnées par mouse_x_left_down() et mouse_y_left_down()
3. on fait une boucle, commençant au dernier sprite créé et terminant par le premier, et on vérifie si le clic a lieu à l'intérieur du rectangle dont le coin en haut à gauche est fourni par la position du sprite, et les coordonnées du coin en bas à droite s'obtiennent en additionnant les dimensions du sprite mémorisés dans le tableau
4. dès qu'on constate que le clic est à l'intérieur d'un sprite, on met sont numéro (mémorisé dans le tableau) dans la variable number_sprite_click, et à ce moment, on devrait théoriquement déclencher l'évènement on_sprite_click dont la routine aurait été enregistrée par la commande ON_SPRITE_CLICK N,R, avec N étant un numéro de sprite et R le nom d'un label Panoramic. Ceci concerne bien sur uniquement le noyau de Panoramic si c'est fait par Jack - le morceau de code présenté ici ne peut pas faire cela. Ce code ne sert qu'à montrer comment on peut facilement détecter le sprite visé.

Le fait de faire la boucle à l'envers tient compte de la superposition des sprites. En effet, et dans l'état actuel de Panoramic, chaque nouveau sprite créé est placé "par-dessus" tous les autres. En commençant donc par le dernier, on a systématiquement celui qui est au-dessus, et on ne détecte pas un sprite qui serait caché par un autre.

Cette technique de détection test valable quelque soit la taille su scene2d. Et en delphi, cette suite de 4 IFs imbriqués se remplace par une seule lgne:*
Code:
if PtInRect(RectangleDuSprite, PointDuClic) then ..... // détection du sprite visé
On ne travaille pas du tout sur l'image affichée, dans laquelle on ne peut effectivement pas savoir quel sprite est visé. On travaille uniquement avec les propriétés du sprite qui sont forcément mémorisées dans une table interne à Panoramic (numéro, position, dimension), et rien d'autre entre en ligne de compte. Et à condition d'ajouter une extension de ces tables pour ajouter la mémorisation du nom de l'évènement ON_SPRITE_CLICK, le déclenchement de l'évènement se fait exactement de la même manière que pour un ON_CLICK den'importe que objet.

Je souligne au passage que si cette modification est faite, cela ne transforme pas pour autant un sprite en objet Panoramic clasique ! Il reste un sprite avec sa série de numérotation totalement indépendante des numéros des objets. Il acquiert simplement de nouvelles capacités, c'est tout. Rien d'autre ne change dans la logique de Panoramic.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

On_Sprite_Click N,L Empty
MessageSujet: re   On_Sprite_Click N,L EmptyJeu 21 Mar 2013 - 17:23

Je pense que tu viens d'ouvrir une piste pour Jack
et je garde en favoris cette page avec ta démo pour
une étude approfondie de la chose Laughing

Merci à toi pour cette nouvelle fonction.
Revenir en haut Aller en bas
Jack
Admin
Jack


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyJeu 21 Mar 2013 - 19:35

@Klaus:
Oui, je vois bien ce que tu veux faire, et c'est le premier algorithme qui vient à l'esprit.
Malheureusement, ce n'est pas si simple car un SPRITE n'est pas rectangulaire et il faut tenir compte de la couleur transparente (qui est le noir pour Panoramic).

J'utilise ton algorithme pour ce sprite représentant un personnage sous forme d'ellipse verticale:
On_Sprite_Click N,L Sprite10
J'utilise un fond bleu ciel.
Le personnage va donc apparaitre ainsi:
On_Sprite_Click N,L Fond10

Maintenant, si je clique en A, ça fonctionne.

Mais si je clique en B, ça fonctionne aussi, car je clique à l'intérieur du rectangle qui a servi à définir mon sprite.
Or, pour un joueur qui clique en B, il a cliqué à côté du personnage et pour lui, le clic ne doit pas être actif.
Et là, j'entends déjà tous les joueurs crier: au bug ! au bug ! Very Happy Very Happy
et intervenir sur le forum: BUG, BUG, BUG ON_SPRITE_CLICK NE FONCTIONNE PAS !!! Very Happy Very Happy
On_Sprite_Click N,L Fond110

Un joueur n'a pas notion de SPRITE et de son rectangle de définition (rectangle englobant pour reprendre les termes classiques), il ne connait que ce qui est représenté par le SPRITE, ce que j'ai appelé le personnage.

Et mon raisonnement se base sur une forme simple. Imagine un sprite concave ou en forme d'anneau (qui a des "trous") à l'intérieur ...

Autre chose:
Imagine un sprite n°1 comme celui que j'ai fait (ellipse) et un sprite en forme d'anneau n°2 devant lui. Ou clique dans la partie creuse de l'anneau.
Si on part du sprite ayant le plus grand numéro comme dans ton algorithme, on s'arrête au numéro 2 car le clic est dans son rectangle.
Or, c'est sur le sprite n°1 qu'on a cliqué...
Et là, nouvelle avalanche de messages:
BUG, BUG, BUG NUMBER_SPRITE_CLICK NE FONCTIONNE PAS !!! Very Happy Very Happy
Revenir en haut Aller en bas
https://panoramic.1fr1.net
pascal10000

pascal10000


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

On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L EmptyJeu 21 Mar 2013 - 20:53

bsr

klaus je peut te proposé un système pour installé un picture de 30X30
dans un autre picture plus grand
en ce moment je suis en train de créer un pacman avec un editeur de circuit
ça pourrait vous donné des idées avec des sprite je n'ai pas fait de teste
mais ça doit marché
donc le picture de 30X30 je l'installe ou je veut dans un picture de 570X570
sur un point tres precis
voici un extrai du code

Code:
 selection:
 n=number_click
 2d_target_is n
 2d_image_copy 30,0,0,30,30
 2d_target_is 51
 2d_image_paste 30,0,0
 return

xmou=int(mouse_x_left_down(1)/30)+1
x=-30+(30*xmou)
ymou=int(mouse_y_left_down(1)/30)+1
y=-30+(30*ymou)
item_delete 101,ymou

2d_target_is 1
2d_image_paste 30,x,y
gob(xmou,ymou)=str$(n)

si tu veut le code complet
tu peut le telechargé ici: gob v1

ou directement sur mon webdav:panoramic@pascal10000 :code panoramic123

bonsoir!

Revenir en haut Aller en bas
Contenu sponsorisé





On_Sprite_Click N,L Empty
MessageSujet: Re: On_Sprite_Click N,L   On_Sprite_Click N,L Empty

Revenir en haut Aller en bas
 
On_Sprite_Click N,L
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: