Bonjours, depuis un petit moment, je code un jeu dans lequel on peut dessiner un parcours, puis lorsque l'on clique sur play, un petit personnage apparait et tombe. Lorsqu'il arrive sur le parcours, il doit tomber suivant l'inclinaison du parcours, un peu comme si il glissait: le seul problème c'est que je n'arrive pas à créer une telle collision. Pour le moment, le personnage tombe, touche le parcours et est re-positionné. De plus, une fois qu'il touche une ligne, il ne la retouche plus (il passe au travers)
Voilà les codes:

personnage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//----------------------------
//ici le code du clip "perso"
for (var vitesse:Number = 0; vitesse < 1; vitesse ++){ // on créer la variable vitesse.
_root.perso.onEnterFrame = function() {
	posx = this._x; // on donne un nom de variables aux positions/
	posy = this._y;
		this._y += _root.vitesse; //l'ordonnée est additionnée à la vitesse.
		_root.vitesse ++; //la vitesse est incrémentée.
 
		//------------
		//Test pour les collisions.
if (_root.dessin2.hitTest(this._x, this._y, true)) {//si "perso" entre en contact avec dessin2
 
        this._y = dessin2._y;
 
		}
}
		};
Lignes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//------------------------------------
//ici le clip du bouton "droites"
var i:Number = 2; //on créé une variable pour les profondeurs
droites.onPress = function (){ //Si on clique sur le bouton
 
_root.createEmptyMovieClip('dessin2', i);/*un nouveau clip est créé, 
avec la variable pour profondeur*/
dessin2.lineStyle(4, 0x000000, 100);
 
 
 
 
_root.createEmptyMovieClip("dessin_temporaire", i-1); // Une droite temporaire est créée.
var position_x:Number = 0; //on défini deux variables pour les positions de 'dessin_temporaire'.
var position_y:Number = 0;
 
        _root.onMouseDown = function() { // Quand on appuye sur le bouton de la souris
 
position_x= _xmouse; //les deux variables prennent les coordonnées de la souris.
position_y = _ymouse;
 
 
 
i ++;//la variable est incrémentée.
   dessin2.moveTo(_xmouse, _ymouse);// On place le début du dessin aux coordonnées de la souris
 
 /*Ici, on va créer un trait temporaire. On pourra le supprimer par la suite grace au "delete"*/
    onEnterFrame = function () {
                //On définit le style du trait dans le clip dessin_temporaire
                //_root.dessin_temporaire.lineStyle(épaisseur,couleur,opacité);
                //_root.dessin_temporaire.clear(); > permet d'effacer le dessin
                _root.dessin_temporaire.clear();
                //moveTo désigne le 1er point de la ligne.
                _root.dessin_temporaire.moveTo(position_x, position_y);
                _root.dessin_temporaire.lineStyle(1, 0x000000, 50);
                //lineTo désigne le point final de la ligne.
                _root.dessin_temporaire.lineTo(_xmouse, _ymouse);
                //Sert à retenir les coordonnées de la souris lorsque l'utilisateur va relacher la souris.
                _root.dessin_temporaire._visible = true; // la visibilité du clip est activée ou ré-activée
        };
	  _root.onMouseUp = function(){
                dessin2.lineTo(_xmouse, _ymouse); //Et on dessine à chaque image un trait
				new Point(dessin2._x, dessin2._y); /*on crée un point aux coordonnées de la droite. Il servira aux collisions
				ponctuelles avec "perso"*/
				delete _root.onEnterFrame;
				_root.dessin_temporaire._visible= false; //la visibilité est désactivée ou re-désactivée.
        };
 
}
}
Alors ma question: comment faire pour que le personnage continue de tomber suivant l'inclinaison de la droite? (ha et si par exemple il a une grande descente, et qu'il se retrouve ensuite face à une grande montée, il faut qu'il puisse justement la parcourir avant de ralentir, puis finalement redescendre.)