Messagerie


Balle Rebondissante [Résolu]

Poum
vendredi 30 décembre 2016 à 23:25
Salut à tous,

Je viens de m’inscrire sur ce forum afin de demander votre aide.
Avant cela, j’ai bien regardé un peu partout, ici et là, pour trouver des solutions à mes questions mais ne trouvant pas de réponse, je m’adresse directement aux connaisseurs.

Pour info, au départ, je comptais créer un jeu de plate-forme, dans l’esprit de ceux des années 90 mais vu les difficultés, je reporte mon projet pour plus tard.
Or donc …

J’ai envie de tenter de créer un jeu et décortique depuis deux semaines Clickteam Fusion 2.5 mais coince lamentablement  ::)

Mon but :

Un objet (comme une balle) rebondi de haut en bas, sans demander ses restes.
S’il rencontre un décor : il change de direction (haut <-> bas).
Si on utilise les touches droite ou gauche, on dirige l’objet vers la direction demandée (droite ou gauche). Dès lors où l’on lâche la touche appuyée, l’objet reprend son mouvement perpétuel de haut en bas et inversement.
J’ai fait des tests mais rien de concluant.

1) Quel mouvement choisir pour mon objet ?
2) Comment transmettre la direction demandée par le joueur à l’objet (droite ou gauche) ?
3) Enfin, lors d’un déplacement latéral, comment faire pour que l’objet se déplace d’office de X pixels (disons la taille de l’objet). Cela n’empêche pas une animation au pixel près mais elle doit cesser son mouvement latéral (si on relâche la touche de déplacement) pour s’aligner sur une grille définie.

Vous allez sûrement rire de mon ignorance mais j’ai cherché et ne trouve pas solution à ce qui me parait être un simple problème. Ainsi, je sollicite votre aide.

Merci d’avance à ceux qui pourront me sortir de ce pétrin.


Au cas où, je pense qu'une illustration permettra d'être encore plus clair






217 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur iOS Exporteur Android Exporteur HTML5
samedi 31 décembre 2016 à 02:21
Salut, et bienvenue a toi :)

Je te conseille de faire le tuto "chocobreak" fourni directement dans fusion2.5
Pour cela, clik sur aide dans la barre de tache, puis tutoriel. Tu devrais deja avoir un bon élément de réponse :)

Bon courage pour la suite
Poum
samedi 31 décembre 2016 à 04:10
Merci beaucoup Darwin de m'avoir répondu.
Si besoin, contrairement au casse brique, je ne dirige pas le rebond mais la balle. Je suis la balle.

Cela dit, j'avoue que j'ai du mal à suivre les tutoriaux en anglais mais d'après ce que j'ai compris, concernant la balle :


Que 2 directions (haut et bas).
J'ai ajouté un test de collision avec la scène et tout est OK. Du moins, au départ (CF : plus bas).


En revanche, dans le cas de cet objet (précisément), je ne vois pas comment lui indiquer d'aller à droite ou à gauche (si touche droite / gauche enfoncée) de manière fluide, tout en respectant un pas latéral de X pixels  :-[
Disons que si elle doit aller à droite, elle se déplacera de 16 pixels (ou 32, 48, 64, ... tant que l'on garde la touche Droite enfoncée).

Là, j'indique des pas (x16) pour le placement de l'objet mais il n'empêche que visuellement, la balle se déplacera latéralement pixel par pixel afin de rendre l'animation fluide.




Aussi

Malgré ces paramétrages, rapidement la balle ne respecte plus sa trajectoire haut ou bas et prend (après quelques rebonds) des directions aléatoires (30, 40, 45°...) . Chose que je veux éviter à tout prix.
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
samedi 31 décembre 2016 à 09:40
Je te suggère de changer la direction de la balle à Direction + 16. Ce qui fait que si elle va vers le haut (direction 8) elle ira vers le bas (direction 24), et si elle va vers le bas elle ira vers le haut (après 31 le calcul de la direction passe à 0, donc 8 au lieu de 40).

Pour les déplacements latéraux, je te suggère de te baser sur un déplacement case par case, il y a pas mal d'exemple sur ce forum.

Et un petit truc. On peut donner plusieurs mouvements à un objet (là ou il y a marqué Mouvement #1) et passer de l'un à l'autre avec l'action Mouvement multiple.
denisstephane
samedi 31 décembre 2016 à 09:51
Je t'est fait un exemple pour faire ce type de mouvement(l'exemple est fait pour le deplacement a droite de 16 pixel par 16 pixel).
J'utilise un compteur pour compter le nbre de pixel deplacer et une valeur qui fait office d'interrupteur.
Lien:
https://mega.nz/#!ItNUwb5S!cXoG0dAFzb0iVQtBmT-ie-Cg-_57W6UuMPquyg5RU9E

Et pour eviter les rebond aleatoire,il faut placer les parametres randomizer et securité dans le mouvement a zero.
On peut pas faire plus simple.
C'est fluide puisque le deplacement est de 1 pixel par pixel et respecte le deplacement 16x16.Après si tu veut un deplacement de 32,tu remplace le 16 du compteur par 32.
188 messages

samedi 31 décembre 2016 à 09:58
slt

voici un exemple en piece jointe pour t inspirer

Pièces jointes
denisstephane
samedi 31 décembre 2016 à 10:10
C'est bien mais c'est pas ca qui recherche.Le mouvement n'est pas fluide et il se deplace sans s'arreter.(pas fluide parce que faut activer la synchro vertical pour que ton truc marche).
Lui il veut faire un deplacement case par case avec un pas de 1 pixel pour eviter un mouvement brutal.
Bref il faut que le mouvement se stoppe au bout de 16 pixel.
Manque aussi la collision avec des sprites.Ton exemple marche bien avec les bords de l'ecran mais avec des sprites faut tout modifier.
Poum
samedi 31 décembre 2016 à 13:55
Super, merci @vous trois :bravos

Je vais analyser vos deux codes en détail et ils m'ont l'air de bien répondre à ma demande.
Dans les deux cas, je n'ai pas exactement le mouvement que je cherche mais logiquement, je devrais m'en sortir avec vos exemples.

En effet, l'idée est de se déplacer de l'équivalent de la largeur du sprite, donc en l’occurrence 32. Aussi, un appuie simple sur la touche fléchée engendre ce déplacement de 32 pixels mais aussi, le continue si on garde la touche enfoncée.
De la sorte, si on avait une scène assez large, ça permettrait un mouvement à 45°

Il reste un détail que je n'ai pas compris :

Et pour eviter les rebond aleatoire,il faut placer les parametres randomizer et securité dans le mouvement a zero.

A quel endroit cela se situe ?  ::) J'ai honte car ça doit être sous mes yeux  :)




Quoi qu'il en soit, merci @vous. Ca fait plaisir d'avoir des réponses si rapidement.
Passez un agréable réveillon.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
samedi 31 décembre 2016 à 14:24
Bonjour
ça se situe dans les propriété de l objet actif (BALLE pour toi) la ou du a mi le mouvement balle qui rebondi.


a bientot bonne continuation
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
samedi 31 décembre 2016 à 14:39
zou
Pièces jointes
Poum
samedi 31 décembre 2016 à 14:54

ça se situe dans ...

Je me doutais que je l'avais sous les yeux  :P Merci


zou

"Amusante" cette démarche.
J'avoue ne pas comprendre, à première vue, la logique mais je vais regarder tout ça de près.
Le changement de direction (+16) lors des collisions haut et bas est bien astucieux / efficace. 


En tout cas, en moins de 24h j'en ai appris 10 fois plus qu'avec des tutos :-)

Promis, si j'arrive à sortir quelque chose de pas trop naze, je vous le montrerais.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
samedi 31 décembre 2016 à 15:10
Et dans l exemple de denisstephane si du (supprime ou desactiver la ligne ) N°4 du pourra faire le déplacement  de la balle si on garde la touche enfoncée.
Modifié le lundi 6 mai 2019 à 10:04 par Emmanuel
denisstephane
dimanche 1 janvier 2017 à 11:05
Exact Emmanuel.
Sinon y a qu'a adapté les codes de chacun.En fait y a tellement de façon de procéder que dans l'absolu,il faut toujours se posé la question de comment doit marché ton mouvement et qu'elles sont les etapes a effectuer pour le créer.C'est pas très clair ce que je dit,mais le fait de reflechir avant sur ce que doit faire ton objet etape par etapes permet ensuite de voir ce que tu peut utiliser après comme methode dans MMF2 pour y parvenir.
Cette methode marche de mieux en mieux a mesure que tu maitrise le logiciel.
Au bout d'un moment,ça devient naturel comme façon de travailler.
C'est surtout important sur de gros projet.
Kloug
1497 messages
Fusion 2.5
dimanche 1 janvier 2017 à 15:43
Salut!

Super démarche Patrice.

Zou2?

A+
Pièces jointes
Poum
mardi 3 janvier 2017 à 18:10
Bonjour @ tous,

Après avoir passé  de nombreuses nuits blanches à avancer sur mon projet, je reviens vers vous, car comme prévu ( ?), je rencontre de nouvelles difficultés.

Sans m’étaler sur l’ensemble (car je compte bien me creuser encore les méninges  8)) je vous rapport deux d’entre-elles qui m’ont donné du fil à retordre.
Pour info, je suis parti sur la méthode de Patrice ainsi que l’ajout de Kloug.

1) Les rebonds sur obstacles : si ces derniers ont une certaine hauteur, mes objets trouvent le moyen de les pénétrer par les côtés.  J’ai essayé de nombreuses autres variantes (élément actif, mouvement rebond …) mais à chaque fois, il se passe quelque chose d’anormale lors des collisions.



ci-dessus  :
    La ligne 5 seule est satisfaisante si on touche le décor par le haut ou le bas.[/li]
  • La ligne 6 seule est également parfaite si on touche le décor par la droite ou la gauche.

  • En revanche, l'ensemble génère des saccades aux collisions par le haut et bas.


Quelle méthode sûre puis-je utiliser pour obtenir des mouvements / collisions parfaits ?


2) La Musique : je n’ai pas réussi à intégrer une musique (format MP3 ou Wav) en tant que musique.
Si j’utilise l’intégration d’un son, tout fonctionne mais pas en tant que musique.
Quelle en est l’explication ? [[ À suivre dans le topic Gestion de la musique ]]

En vous remerciant par avance pour vos réponses tout en vous souhaitant une merveilleuse année 2017..

PS : ne connaissant pas les habitudes du forum, dois-je continuer ici toutes mes questions (même si elles s’éloignent de la demande initiale) ou dois-je créer de nouveaux topics ?
Modifié le mercredi 4 janvier 2017 à 19:51 par Seyjin
240 messages
Fusion 2.5
Exporteur Android
mercredi 4 janvier 2017 à 02:28
Salut,

Je tes fait deux petit exemple avec la balle qui rebondi si sa peut t'aider 
Pièces jointes
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 4 janvier 2017 à 14:11

PS : ne connaissant pas les habitudes du forum, dois-je continuer ici toutes mes questions (même si elles s’éloignent de la demande initiale) ou dois-je créer de nouveaux topics ?


Je pense en effet que  faire un autre topic pour chaque question est mieux. Ça permettra d’être plus facilement trouvable par les personnes que ça peut intéresser.
Poum
mercredi 4 janvier 2017 à 19:01



Merci pour tes exemples.
J'ai mis en situation l'exemple qui correspondait à mes mouvements en agrandissant un des obstacle en hauteur.
La balle traverse ce dernier comme indiqué par la flèche.
Avec ma méthode (cf page précédente), j'ai la balle qui agit étrangement lors des rebonds sur les surfaces horizontales.
Je pense qu'elle coince un instant car elle est dans une mauvaise direction.


________________________________________

Parfait.

Je vais patienter ici pour trouver une solution à mon problème.
En effet, sans mouvement fluide et sans bug, tout mon projet tombe à l'eau  :(

En espérant que vous ayez d'autres idées ou du moins, comprendre pourquoi j'ai ce petit bug.
Modifié le mercredi 4 janvier 2017 à 19:46 par Seyjin
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 4 janvier 2017 à 19:55
J'aurais bien une idée pour ta balle mais je n'ai pas très bien combris ce que tu cherches à faire.

J'ai coupé le topic en deux pour mieux s'y retrouver.
217 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur iOS Exporteur Android Exporteur HTML5
mercredi 4 janvier 2017 à 19:59
Je crois qu'il veut un balle qui rebondi style casse brique, sauf que tu peux influer sur la trajectoire de la balle pendant qu'elle se déplace. j'ai bon ?
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 26 visiteurs au total

Derniers messages