floor

package
v0.0.0-...-83b3ea5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

floor est le paquet qui gère la configuration du sol sur lequel le personnage se déplace. Sa principale fonction est de fournir, chaque 1/60 de seconde et en fonction de la position absolue de la caméra, une structure de données représentant les cases de terrain visibles à l'écran.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Voisins

func Voisins(content [][]tiles.Tiles, y, x int) (h, b, g, d bool)

renvois les Voisins haut, bas, gauche, droite de la case en coordoné x et y

Types

type Floor

type Floor struct {
	Content [][]tiles.Tiles

	QuadtreeContent   quadtree.Quadtree
	ListChunkgenerate map[Coords.Coords][][]tiles.Tiles

	Height int
	Width  int
	GX     *int
	GY     *int
	// contains filtered or unexported fields
}

Floor représente les données du terrain. Pour le moment aucun champs n'est exporté.

  • content : partie du terrain qui doit être affichée à l'écran
  • fullContent : totalité du terrain (utilisé seulement avec le type d'affichage du terrain "fromFileFloor")
  • quadTreeContent : totalité du terrain sous forme de quadtree (utilisé avec le type d'affichage du terrain "quadtreeFloor")

func (Floor) Blocking

func (f Floor) Blocking(characterXPos, characterYPos, camXPos, camYPos int) (blocking [4]bool)

Blocking retourne, étant donnée la position du personnage, un tableau de booléen indiquant si les cases au dessus (0), à droite (1), au dessous (2) et à gauche (3) du personnage sont bloquantes.

func (Floor) Draw

func (f Floor) Draw(screen *ebiten.Image, Xshift, Yshift int, FluideX, FluideY bool)

Draw affiche dans une image (en général, celle qui représente l'écran), la partie du sol qui est visible (qui doit avoir été calculée avec Get avant).

func (*Floor) Init

func (f *Floor) Init()

Init initialise les structures de données internes de f.

func (*Floor) Update

func (f *Floor) Update(camXPos, camYPos int)

Update se charge de stocker dans la structure interne (un tableau) de f une représentation de la partie visible du terrain à partir des coordonnées absolues de la case sur laquelle se situe la caméra.

On aurait pu se passer de cette fonction et tout faire dans Draw. Mais cela permet de découpler le calcul de l'affichage.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL