1

Salut à tous,

Bon, je reviens un peu sur les sauts.
Nous avons bien discuté sur l'équation à utiliser pour faire un mouvement de physique réel. J'ai appliqué l'algo comme vous me l'avez suggéré et c'est vrai que c'est plus réaliste (et c'est plus joli aussi wink).
MAIS, nous n'avons discuté que des verticales.... "Nous maîtrisons les verticales..." mais pas les horizontales.
Mon but est de faire en sorte que, quelque soit la hauteur à sauter, le saut DOIT faire EXACTEMENT (et, oui, c'est primordial) 1 tile en largeur (TILE_WIDTH), soit 8 pixels de large.

Quelqu'un pourrait-il me dire comment faire pour arriver au résultat s'il vous plait?

Bien à vous.

Fred.
There is no spoon.

2

Si on néglige les frottements de l'air, le mouvement horizontal est à vitesse constante.

3

c'est ce qui est fait actuellement...
Mais le saut n'est pas de 8 pixels de large quelque soit la hauteur...

There is no spoon.

4

ça dépend, est-ce que tu as une quelconque liberté de mouvement une fois en l'air ? (i.e. est-ce que tu peux changer la hauteur du saut, ou te déplacer à gauche/droite)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5

Se déplacer en plein vol... Y'a que dans les jeux qu'on voit ça smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

excusez-moi pour l'attente, je n'avais plus de connexion...
Le poussin n'a aucune liberté de mouvement lorsqu'il est en train d'excécuter un mouvement.
Les seules libertés qu'il a sont lorsqu'il est au sol ou sur une échelle.
Donc une fois le saut ou une chutte lancé, on ne peut plus le déplacer.
There is no spoon.

7

gol bouffe ta lib bouflib
/ JAVA / C / C++ / Cobol /

8

lancelot (signature)> Créateur de programmes en Ti Basic...
Ceci explique cela ?

9

non ^^ mais ca fait longtemps que j'avais envie de dire ça en voyant son pseudo ^^ picol
/ JAVA / C / C++ / Cobol /

10

.6/ .8/ c'est nase comme réponse ça... Pas constructif, assez primaire comme réponse qui nécessite donc une réponse du même niveau intéllectuel: fuck (désolé)

Que font les modérateurs???
There is no spoon.

11

boulifb :
excusez-moi pour l'attente, je n'avais plus de connexion...
Le poussin n'a aucune liberté de mouvement lorsqu'il est en train d'excécuter un mouvement.
Les seules libertés qu'il a sont lorsqu'il est au sol ou sur une échelle.
Donc une fois le saut ou une chutte lancé, on ne peut plus le déplacer.

est-ce qu'il est garanti qu'il y aura toujours du sol au même niveau et pas un trou une tile plus loin ?
avatar
I'm on a boat motherfucker, don't you ever forget

12

et ben non... aucune garantie... il se peut très bien que le saut aboutisse sur un trou! dans ce cas, il tombe...
Sinon, pour les chuttes, tant qu'on y est, j'ai le souvenir que la constante G (9.81m/s) intervient... quelqu'un peut me rappeler le principe. actuellement, j'utilise le même mechanisme que les chuttes de sauts...
There is no spoon.

13

et donc il va bien être obligé d'avancer de plus qu'une tile, dans ce cas (ou alors ça va être très bizarre)
avatar
I'm on a boat motherfucker, don't you ever forget

14

non non...
il avance d'une tile par saut. c'est un poussin qui vient de naitre, alors il ne saute pas bien haut ni bien loin wink
There is no spoon.

15

oui mais admettons qu'il saute pour se retrouver au niveau du sol une tile plus loin. et disons qu'il y a un trou. il va tomber dans le trou et en continuant à avancer, son saut va faire plus qu'une tile.
avatar
I'm on a boat motherfucker, don't you ever forget

16

non, du fait qu'il tombe, il ne va ni à gauche, ni à droite... il tombe jusqu'à ce qu'il atterisse sur le sol (ou une échelle). Durant la chutte, il ne va ni à gauche ni à droite.
There is no spoon.

17

ben oui mais alors ça doit être bizarre (parce qu'en vrai on continue à avancer même quand on tombe)
avatar
I'm on a boat motherfucker, don't you ever forget

18

boulifb
: Que font les modérateurs???

bah comme ils sont pas omniprésents, géneralement faut les appeler quand y'a un truc à faire (bon là c'est pas gravissime mais le jour où ça servira, perso je ne pense pas apparaitre sur le topic à problème comme par miracle)

lancelot > utilise des smileys, change le ton, je sais pas quoi mais évite de faire des posts qui pourraient être mal pris.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

19

en fait c'est pas tant "utilise des smileys" que "évite d'utiliser gol", je crois (dehors aurait par exemple été beaucoup plus approprié)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

20

oui en fait c'est "utilise *correctement* des smileys" ... enfin bon l'idée est là, je me retire, bonne continuation ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

21

boulifb> utilise une table précalculé pour la vitesse horizontale et la vitesse verticale, dans ton cas c'est le plus simple parceque ce jeu ne cherche pas à représenter la réalité.

22

en fait si tu veux que la chute soit verticale et que ça ne paraisse pas trop bizarre (virage brusque), il faut je pense que tu fasses décroître la vitesse horizontale dès le départ du saut (on pourrait dire que ça simule une résistance genre vent de face, enfin c'est pas vraiment du vent vu qu'il cesse dès que tu n'avances plus mais bon cheeky). Alors soit le poussin ne peut jamais monter d'un étage et il faut que la vitesse horizontale s'annule au moment où il revient à son altitude de départ, soit il peut également monter d'un étage (dans ce cas-là je suppose qu'il faut qu'il ait déjà fait une tile complète quand il arrive au sommet de son saut), auquel cas la vitesse horizontale devra s'annuler au même moment que la vitesse verticale (le poussin est complètement arrêté au sommet de son saut, comme suspendu en l'air, et ensuite il tombe, ça fait un peu cartoon où le personnage regarde sous ses pieds cheeky)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

23

./21 je pense que c'est ce qui a de plus simple, mais je crois aussi que ça peut se calculer smile
En effet, ce jeu ne cherche pas à représenter la réalité, mais c'est tout de même plus joli avec de la vraie physique smile
There is no spoon.

24

L'idée de Sally est bonne, et pas forcément plus compliquée à implémenter ^^

25

bah, j'ai trouvé une solution:

switch ((*pEnvironment)->toki.sprite.direction)
{
case DIRECTION_LEFT:
	if ((*pEnvironment)->toki.startJump.x-(*pEnvironment)->toki.sprite.location.x < TILE_WIDTH)
		(*pEnvironment)->toki.sprite.location.x-=(*pEnvironment)->toki.speed.cx;
	else
	{
		// jump over
		(*pEnvironment)->toki.nJumping=0;

		// check if fall...
		if (!Fall(pEnvironment))
			Land(pEnvironment);
	}

	break;

case DIRECTION_RIGHT:
	if ((*pEnvironment)->toki.sprite.location.x-(*pEnvironment)->toki.startJump.x < TILE_WIDTH)
		(*pEnvironment)->toki.sprite.location.x+=(*pEnvironment)->toki.speed.cx;
	else
	{
		// jump over
		(*pEnvironment)->toki.nJumping=0;

		// check if fall...
		if (!Fall(pEnvironment))
			Land(pEnvironment);
	}
	break;

default:
	break;
}

et là, ça marche bien smile
There is no spoon.

26

(Ça ne serait pas plus lisible en posant au début toki = (*PEnvironment)->toki pour éviter de le retaper à chaque fois ? surtout si tu as d'autres trucs du même genre dans ta fonction...)

à part ça tu devrais mettre des espaces par-ci par-là dans ton code je trouve (autour des opérateurs genre -, +, =, ça permettrait de les repérer plus facilement au lieu de voir une ligne homogène)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

27

(plutôt toki = &(*pEnvironment)->toki, pour éviter de recopier le contenu, surtout que ça empêcherait de le modifier...)

et c'est pas un peu moche, la parabole tronquée ? hum

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

oui pardon, je voulais dire un truc du genre mais j'ai pas trop réfléchi ^^
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

29

au passage, tu pourrais factoriser un peu ton code non ? il y a des parties qui se ressemblent beaucoup, ça permettrait surement de réduire un peu la taille de ton fichier source et donc de le rendre plus accessible happy

(enfin bon c'est pê pas l'objectif pour le moment)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

30

./27 je sais qu'il n'est pas nécessaire de passer l'adresse du pointeur, mais c'est juste là pour signifier que des données vont changer dans la structure. Avec de l'expérience, crois moi, c'est plus facilement maintenable que si on ne passe que le pointeur et qu'on modifie les membres de la structure sans prévenir... c'est juste une question de notation et de maintenance.
Les sauts ne sont pas tronqués. J'enverrais des captures bientôt pour montrer la chose et aussi les autres mondes qui sont maintenant totalement gérés, avec les bonnes images de fond qui s'anime comme il faut, de la physique dans les sauts et les chutes etc. smile

./29 ouais, je sais, mon code est légèrement bourrin grin
There is no spoon.