RMEx
RMEx

Community


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

[Système] moteur de particule (Résolu)

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

Salut,
J'ai commencé la création d'un moteur de particule, mais voila une erreur de syntaxe survient et je ne la comprend vraiment pas .
Voici le code exécuté.
Code:
SV[1] = player_direction
SV[1] = SV[1]/2-1
SV[2] = [[0,32],[-32,0],[32,0],[0,-32]]
picture_show(SV[3]+1,"epee",player_x*32+SV[2][SV[1]][0],player_y*32+SV[2][SV[1]][1], 50, 50)
Donc, l’idée c'est crée une image X(id+1) devant la case du joueur.
Rien de bien méchant jusqu’au moment ou ?!



Dernière édition par Nicouille le Mer 6 Mai - 17:50, édité 1 fois

Voir le profil de l'utilisateur
Ça ne corrigera pas le code mais "player_x*32" c'est pour avoir la position en pixel du héros ? Parce que dans ce cas tu peux utiliser "event_pixel_x(0)"

Voir le profil de l'utilisateur
Ton problème est que l'instruction prend plusieurs lignes, utilise des variables intermédiaires.
Code:
SV[1] = player_direction
SV[1] = SV[1]/2-1
SV[2] = [[0,32],[-32,0],[32,0],[0,-32]]
id    = SV[3]+1
x     = player_x*32+SV[2][SV[1]][0]
y     = player_y*32+SV[2][SV[1]][1]
picture_show(id, "epee", x, y, 50, 50)

Voir le profil de l'utilisateur

Joke

avatar
Admin
Même remarque que Hellper, sauf qu'au lieu de event_pixel_x(0) tu as encore player_pixel_x.

A noter que c'est bien la différence entre pixel_x et screen_x, pixel_x a bien la carte pour référentiel et non l'écran.

Ce que tu as fait a l'air juste, c'est juste l'interpréteur qui s'y perd avec les crochets (et peut-être les retours à la ligne du "insérer script").

Tu peux essayer d'aérer un peu :

Code:
SV[1] = player_direction/2-1
SV[2] = [[0,32],[-32,0],[32,0],[0,-32]]
SV[3] = player_pixel_x + SV[2][SV[1]][0]
SV[4] = player_pixel_y + SV[2][SV[1]][1]
picture_show(SV[5]+1, "epee", SV[3], SV[4], 50, 50)

Edit : devancé par @Celestiel. Smile

Voir le profil de l'utilisateur
@helper
Ou player_pixel_x, mais non car l'origine de l'event en pixel est à sa base au milieu et surtout, quand l'event se déplace se point peux se retrouver entre deux case et sa fait moche .

@celestial & joke
Merci je vais essayer sa de suite.

Voir le profil de l'utilisateur
Ah oui, il y a un soucis au niveau du passage à la ligne. Pour que ça marche je crois qu'il aurait fallu faire un saut de ligne après une virgule comme ceci :

Code:
picture_show(SV[3]+1,"epee",player_x*32+SV[2][SV[1]][0],
player_y*32+SV[2][SV[1]][1], 50, 50)

Voir le profil de l'utilisateur
Depuis tu n'es pas obligé d'utiliser des variables locales (de l'évent) pour stocker des valeurs. De simples variables sont suffisantes et largement plus explicites Wink

Voir le profil de l'utilisateur
Merci tout le monde, toutes les solution fonctionne.

Voir le profil de l'utilisateur

9

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum