Messagerie


Smooth 8 directions

Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
dimanche 14 décembre 2014 à 20:37
Bonsoir,
A mon tour de vous demander un coup de main.
J'essaye de rendre le mouvement 8 direction plus fluide en essayant de jouer sur l'angle du Sprite par rapport à sa direction (sans extension, sinon c'est trop facile...  :P).
Je n'arrive pas à me dépêtrer du passage du 270 au 0, l'angle fait 270° pour revenir coller à la direction au lieu de repasser par le 360. je sais qu'il faut tester les différences d'angles de 180° mais c'est la formule derrière qui me pose problème.
Si vous trouvez une astuce, je vous remercie par avance.
Je sais que le mouvement 8 direction physique le fait, mais je trouve les déplacement assez pénibles avec ce moteur...J'ai programmé l'effet que je désire en superposant 2 actifs, un physique et pas l'autre mais c'est pas propre...
+
Modifié le dimanche 14 décembre 2014 à 20:51 par Patrice
Pièces jointes
Pit73
1055 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
lundi 15 décembre 2014 à 10:21
coucou
voici un test en 4 directions
bzzz
Pat
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 15 décembre 2014 à 10:36
Yes, super ! merci beaucoup.
Mais 11 lignes... je suis sûr qu'on doit pouvoir faire mieux...
Merci encore
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 15 décembre 2014 à 13:07
bonjour mon patrice regarde j ai fait un truc un peu con  :jesors  il y un bug mais je pense que du vas trouve un truc pour parée la chose  :P
je utiles toujours les vielle méthode  :D
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 15 décembre 2014 à 14:03
Et oui, même problème pour le passage de l'angle 270 à 180 il fait 3/4 de tour...
conceptgame
429 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur iOS Exporteur Android
lundi 15 décembre 2014 à 22:12
C'est pas un défi alors je le fais en 2 lignes...  :jesors
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 15 décembre 2014 à 22:29
Merci mon ami, tu es un génie !  :bravos
Tazador
89 messages
Fusion 2.5
Exporteur Android Exporteur HTML5
mardi 16 décembre 2014 à 02:03
Vraiment trop fort ce concept game ^^
Aller je poste quand même ma version en 3 lignes mais c'est plus ou moins la même façon de faire que concept game sans le trick pour pas diviser par zéro du coup ;)

A ce propos y'a pas un moyen simple et rapide dans fusion pour récupérer le signe d'une soustraction (1 si c'est positif, -1 si c'est négatif ?) sans passer par une normalisation ?

https://www.dropbox.com/s/uhxwqly37ybeapn/smooth8direction360.mfa?dl=0
Pit73
1055 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
mardi 16 décembre 2014 à 10:35
Salut les gars
Je demande à progresser ;)
Si vous pouviez décrire votre démarche et commenter votre code, ca aiderait grandement ;)
Merci
Pit
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 16 décembre 2014 à 16:18
Alors, là... bravo, je suis sur le cul...
Autant je comprend presque le mfa de Tazador, autant ConceptGame pour moi c'est dans une autre sphère...
la fonction mod, permet quoi au juste ?
++
atheros75
mardi 16 décembre 2014 à 18:35
Bonsoir, je ne veux pas trop m'avancer et dire une connerie mais je crois que le modulo sert quand il y a un problème de virgule. Exemple : 9 mod 4 = 9 - (2 * 4) = 1 c'est une sorte d'arrondi. Corrigez-moi si je me trompe.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 16 décembre 2014 à 18:48
Je suis preneur d'un mini-tutorial pour expliquer la fonction mod et surtout les applications possibles de cette fonction dans Fusion  :) Je pense que Pit73 et tous les aficionados du radiateur en cours de maths au lycée me suivront dans ma demande...
Monos
2713 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5
mardi 16 décembre 2014 à 18:54
[quote] 9 mod 4 = 9 - (2 * 4) = 1 c'est une sorte d'arrondi. Corrigez-moi si je me trompe.[/quote]
Ce n'est pas pas un arrondi c'est le reste d'une division.
atheros75
mardi 16 décembre 2014 à 19:03
Tout-à-fait  Monos, je me suis une fois de plus précipité. Je voulais dire :
x mod y = x-y multiplié par E ( x/y)
où E est l'entier.
Xenon3K
763 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 16 décembre 2014 à 19:24
Je l'utilise souvent quand j'incrémente un angle par exemple:
angle = (angle+1)%360

Le modulo est représenté par un poucentage en programmation, ainsi mon angle ne dépasse jamais 360, il reviens à 0 une fois dépassé.
Tazador
89 messages
Fusion 2.5
Exporteur Android Exporteur HTML5
mardi 16 décembre 2014 à 20:15
Tout à fait le modulo sert à obtenir le reste d'une division euclidienne. Une quoi oO ? On l'appelle aussi division entière. C'est comme une division classique sauf qu'on s'arrête avant d'avoir des virgules. C'est bien gentil toussa mais en pratique à quoi ça sert ?

Par exemple avec ça, on peut facilement savoir si un nombre est pair ou impair. Il suffit de tester si le nombre x modulo 2 est égal à 0 ou 1. Ca peut servir pour construire un damier comme dans mon petit exemple.

Sinon c'est très pratique pour ramener un angle un peu gros (comme c'est le cas ici) entre 0° et 360° (ce que fais fusion automatiquement quand on lui dit d'orienter un sprite à 540° par exemple).
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 16 décembre 2014 à 20:41
Ok, c'est vrai, j'avais utilisé ça pour faire du pair/impair à une époque.
C'est vraiment super puissant, si vous avez d'autres exemples d'utilisation, c'est super merci !
conceptgame
429 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur iOS Exporteur Android
mardi 16 décembre 2014 à 21:13
De manière générale,  cela peut permettre de faire un bouclage sur un interval.
Au delà de l'exemple classique de l'angle entre 0 et 360°, on peut boucler le temps d'une animation (exemple complètement pris au hasard avec aucun rapport avec quelque chose que je développe en ce moment). Si l'animation fais 1000ms et qu'on veux pouvoir la recommencer en permanence à partir d'un timer s' incrementant toutes les ms, on peut utiliser le modulo.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 16 décembre 2014 à 21:16
Génial, je viens de comprendre ! merci les amis  :bravos
Pièces jointes
Tazador
89 messages
Fusion 2.5
Exporteur Android Exporteur HTML5
mardi 16 décembre 2014 à 22:34
Tu maîtrises !
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 43 visiteurs au total

Derniers messages