un clic, un tir ...

Bonsoir à toutes et à tous,

Tout d’abords je suis en phase d’apprentissage de ce très bon soft !
Dans le cadre d’un projet pour comprendre un peu l’ensemble des fonctionnalités (jeu de tir en 360°), je me retrouve bloqué sur un point.

Je cherche à obtenir un tir par clic, et non posséder une gestion du temps entre chaque tir qui multiplie les tirs selon une valeur choisie … Une sorte de compteur qui indique 1 clic = création et application de force pour 1 seul objet …

Ca fait 2 bonnes heures que je cherche sur les différents topics mais je n’ai pas trouvé assez de chose qui me renseigne. Je sais que ce serait par des variables, mais je ne vois comment les organiser, comment ça s’articule …

Quelqu’un aurait une idée ?

Un clic de souris prend environ 0.25 seconde.
En mettant ton chrono à 0.5, tu es sûr que le joueur ne pourra pas cliquer plus de fois que nécessaire.

Sinon, tu lui rajoutes une variable DejaCliqué, que tu mets à 1 si s’il y a un clic, et que tu mets à zéro quand il n’y a plus de clic.

[code]
Si clic gauche de la souris
si DejaCliqué = 0 alors créer le tir et DejaCliqué = 1

Si pas de clic gauche de la souris
Si DéjàCliqué = 1 alors DéjàCliqué = 0[/code]

Autrement, tu peux aussi t’appuyer sur le nombre d’objets à l’écran .

[code]Si clic gauche de la souris
Si nombre d’objet MonTir = 0 alors créer objet MonTir

Si MonTir en dehors de l’écran alors supprimer MonTir[/code]

Salut,

Merci pour ta réponse, j’ai galérer une bonne partie de la nuit, mais je suis arrivé à un résultat en me penchant sur l’article des variables de GD.

en procédant ainsi :

si left appuyé
si var globale “pistolet” est à 1 alors création d’objet + appli de force + faire 0 à variable pistolet.

si left relâché alors faire 1 var pistolet

Comme tu le dis, avec 0.5 en chrono ça marcherait, mais du coup on n’a plus qu’un tir entre 2 clic, au lieu d’en avoir deux sans aucune limite de temps entre les deux. Ca donne un coté “semi auto” pas désagréable.

Par contre, je n’avais pas pensé par rapport aux nombres d’objets, très très intéressant merci.

Autre chose, j’ai pu avec des variables “type d’arme” me créer 3 armes, pistolet à la cadence semi auto en pressant “a”, un fusil auto en pressant “e” et un sniper à la cadence ultra lente avec “z” … Mais ça me parait brouillon et je me demande si on ne peut pas faire plus léger, simple et pro ? ^^

http://cjoint.com/?CJrlzbGMWJJ

(ps je ne me souviens pus comment on insère une image dan un message où un post avec les balses img, il faut mettre le chemin du disk c’est ça?)

Change d’arme avec le clic droit.

Si clic droit
Si chrono clicdroit > 0.25
alors armeEnCours = armeEnCours + 1

Si armeEnCours >= nbreArmes alors armeEnCours = 0

Si armeEnCours = 0 alors on utilise l’arme No1
Si armeEnCours = 1 alors on utilise l’arme No2
etc.

Ok, pas mal du tout ça, merci :wink:

Pas évident d’attraper la logique du “language” et les rouages, d’autant qu’on peut faire de manières assez variées, mais c’est assez passionnant :slight_smile: ! J’aime beaucoup, c’est marrant de tester pleins de possibilités, faut juste trouver la bonne logique, la simplicité.

Je pense que je vais essayé comme tu me le montres, en rentrant des variables armeEnCours et nbArmes mais je vais conserver les touches A et E afin de monter en sélection d’arme ou descendre … J’ai cru voir aussi qu’on pouvait tester la position de la roulette souris il me semble …

Mais j’ai une question :
A la suite de ça
“Si armeEnCours = 0 alors on utilise l’arme No1”
Je vais devoir faire : variable arme No1 + si clic gauche … alors … créa d’objet + appli de force ect … ? C’est ça ?

Sinon, j’ai testé tes réalisations achevées, sympas bon boulot :wink: !

En gros, oui.

Tout dépend de la manière dont tu gères ton jeu.
ArmeEnCours va te servir à savoir quelle arme est actuellement utilisée, et donc quel objet tir créer, quels dégats appliquer, quelles icones manipuler pour indiquer au joueur son arme actuelle, quelle arme afficher sur le personnage, quelles munitions décompter, etc.

Je te conseille quand même de conserver le plus possible un controller unique. Dans ton cas, la souris, puisque tu en as forcément besoin pour viser.
Si ton jeu peut être joué à une seule main, c’est mieux. Ca simplifie la prise en main, et le rend d’office compatible avec les interfaces tactiles. Vu l’omniprésence des mobiles et autres tablettes, ce sera un plus pour la diffusion. En bonus, ça règle le problème des claviers qwerty et des manettes de jeu, dont on n’est jamais sûr du mappage des touches.

Merci !

Hello :slight_smile:

Merci pour ces précieux conseils, et oui le game-design, ça ne s’invente pas …
Et le coup du tactile, franchement bien vu :wink: et c’est vrai que j’ai eu une approche PCiste … (Egoïste :smiley: )

Mais un doute subsiste à ce sujet … Programmer GD avec seulement la souris suffit à rendre compatible en tactile, ok ! Mais parfois sur les jeux tactiles pour Smartphones, tablettes ect, on peut diriger avec un pad virtuel d’un côté et parfois avoir 2, 3, 4 boutons virtuels de l’autre … Comment les assigner ? Est-ce que ce sont des touches particulières communes aux azerty/qwerty ?

Bonne soirée et merci encore.