Bonjour
Pour un jeux de type défilement horizontal, je souhaiterais un tilemap qui pourrait tourner en boucle.
C'est à dire que le monde serait comme une planète dont on ferait le tour, si on va tout le temps à droite on revient au début du tilemap.
Comment je pourrai procéder ?
Merci !
Jean
Ca dépend de ta configuration
Tu peux téléporter le joueur de l'autre côté, ou découper ton niveau en chunk et déplacer les premiers chunks à la fin quand le joueur se rapproche de celle-ci
Ou alors si c'est en 3D tu peux avoir une planète en 3D et vraiment faire le tour de celle ci
merci pour les idées, je vais voir pour la téléportation dans un premier temps si j'arrive à ce que cela soit invisible
c'est juste un jeux 2D de type défilement horizontal
J'ai trouvé ça pour ceux qui cherchent
https://godotengine.org/qa/16627/how-to-teleport-a-rigidbody2d
Tu peux pas utiliser un ParallaxLayer pour ça ? https://docs.godotengine.org/en/stable/classes/class_parallaxlayer.html
Je sais pas si ça permet uniquement de répéter une texture ou si ça répète vraiment tous les nodes fils entièrement, donc peut-être que ça ne fonctionne pas vraiment, je sais pas.
alors là aucune idée, je vais creuser mais pour le moment la téléportation fonctionne bien
Si tu fais ça en codant, ce que tu peux faire :
Tu définis la distance maximal de ta map (de préférence un nombre premier), et tu gères les coordonnées de ton personnage en les mutlipliant avec le modulo(distance_max)
En gros
coordonnées_X = coordonnées_X * ( distance_max_x % coordonnées_X )
coordonnées_Y = coordonnées_Y * ( distance_max_y % coordonnées_Y )
Et en gros, vu que ta distance max est un nombre premier, bahh le modulo ne pourra être égal à 0 seulement si la coordonnées est égal à ce même nombre ( dans le cas inverse il sera toujours égale à 1 )
Dans ta classe Player :
if (this.x > game.width) {
this.x = 0;
}
if (this.x < 0) {
this.x = game.width;
}