Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: [Résolu] Incompréhension d'un calcul de destination. Lun 29 Juil 2013 - 10:40 | |
| Bonjour, J'ai un soucis avec mon code mais je ne vois pas du tout où est le problème, pour moi tout est bon. Voici ce qui devrais ce produire:Ma camera se déplace (fluidement) de zone (map) en zone celons où ce trouve mon PJ. Et ce qui ce passe:Tout fonctionne bien sauf si le personnage est dans la map tout en haut à gauche et qu'il descend d'une map, la camera se met directement dans la map sans mouvement (elle se téléporte). Voici le code de la Camera: #Create: - Code:
-
//Place la camera sur la même map que le joueur. x = getMapX( Player.x ); y = getMapY( Player.y );
//Variables qui définie si la Camera doit se //déplacer vers une positiion. target_x = x; target_y = y;
//Place la vue au bon endroit par-rapport à la Camera. view_xview = x; view_yview = y-GUI_TOP_HEIGHT;
//Vitesse de déplacement de la Camera. speed=0;
//Défini le masque de collision pour savoir si //les instance sont dans la vue. image_xscale = (sprite_width/VIEW_WIDTH)*VIEW_WIDTH; image_yscale = (sprite_height/VIEW_HEIGHT)*VIEW_HEIGHT; #Step: - Code:
-
//Recupére en iténéraire la map ou se trouve le joueur target_x = getMapX( Player.x ); target_y = getMapY( Player.y );
//Si on est sur la meme map on arrete cette partie. if( x == target_x and y == target_y ) exit;
//Sinon : //On se déplace vers la bonne map. moveTowardsPoint(target_x, target_y, WINDOW_WIDTH/(room_speed*1.5) );
//On place la vue au bon endroit celon la Camera. view_xview = x; view_yview = y-GUI_TOP_HEIGHT; Et les scripts utilisés: getMapX : - Code:
-
return ( argument0 div VIEW_WIDTH )*VIEW_WIDTH; getMapY : - Code:
-
return ( argument0 div VIEW_HEIGHT )*VIEW_HEIGHT; moveTowardsPoint : - Code:
-
if( (x == argument0 && y == argument0) || point_distance(x, y, argument0, argument1) <= argument2 ){ speed = 0; x = argument0; y = argument1; }else move_towards_point(argument0, argument1, argument2);
Voilà j'ai beau décortiquer le truc je vois pas d'où ça viens, aucun message d'erreur, ça fonctionne sur toutes les maps sauf celle tout en haut à gauche et qu'on se déplace vers le bas.
Dernière édition par Caly le Lun 29 Juil 2013 - 15:04, édité 1 fois |
|
GrandeLangue Bonne participation
Messages : 77 Localisation : Lille Projet Actuel : Faire des maths
| Sujet: Re: [Résolu] Incompréhension d'un calcul de destination. Lun 29 Juil 2013 - 14:58 | |
| Haha ! J'ai trouvé ! Tu as mis dans ton code "moveTowardsPoint" : - Code:
-
if( (x == argument0 && y == argument0) || ... or je pense que tu voulais dire : - Code:
-
if( (x == argument0 && y == [strike]argument0[/strike] argument1) Mais de toute façon, cette condition ne te sert à rien car quand elle est vraie, point_distance(x, y, argument0, argument1) <= argument2 est vrai aussi. Donc ton code "moveTowardsPoint" devrait être : - Code:
-
if( point_distance(x, y, argument0, argument1) <= argument2 ){ speed = 0; x = argument0; y = argument1; }else move_towards_point(argument0, argument1, argument2); Voilà, j'espère t'avoir aidé |
|
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolu] Incompréhension d'un calcul de destination. Lun 29 Juil 2013 - 15:04 | |
| Super ! Merci beaucoup!
J'aurais mis des plombes pour la trouver celle là! Merci beaucoup!
Un tout petit caractère qui ma fait chercher pendant plus d'une heure ... |
|
Contenu sponsorisé
| Sujet: Re: [Résolu] Incompréhension d'un calcul de destination. | |
| |
|