character

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: 7 Imported by: 0

Documentation

Overview

character est le paquet qui permet de définir la manière dont le personnage se comporte. Pour le moment ceci prend en compte :

  • l'affichage
  • les contrôles
  • l'animation

Index

Constants

View Source
const (
	OrientedDown int = iota
	OrientedLeft
	OrientedRight
	OrientedUp
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Character

type Character struct {
	X, Y        int
	Orientation int

	Moving bool

	XShift int
	YShift int

	Shadow *particle.Particle
	// contains filtered or unexported fields
}

Character définit les charactéristiques du personnage. Pour le moment seules les coordonnées absolues de l'endroit où il se trouve sont exportées, mais vous pourrez ajouter des choses au besoins lors de votre développement.

Les champs non exportés sont :

  • orientation : l'orientation du personnage (haut, bas, gauche, droite).
  • animationStep : l'étape d'animation (-1 ou 1, représentant l'animation d'un pas à gauche ou à droite).
  • xInc, yInc : les incréments en X et Y à réaliser après la prochaine animation.
  • moving : l'information de si une animation est en cours ou pas.
  • shift : la position actuelle en pixels du personnage relativement à ses coordonnées absolues.
  • animationFrameCount : le nombre d'appels à update (ou de 1/60 de seconde) qui ont eu lieu depuis la dernière étape d'animation.

func (Character) Draw

func (c Character) Draw(screen *ebiten.Image, camXPos, camYPos, width, height int, FluideX, FluideY bool)

Draw permet d'afficher le personnage dans une *ebiten.Image (en pratique, celle qui représente la fenêtre de jeu) en fonction des charactéristiques du personnage (position, orientation, étape d'animation, etc) et de la position de la caméra (le personnage est affiché relativement à la caméra). Les arguments sont : camXPos et camYPos sont la position de la caméra, width et height int sont la taille du fullContent, FluideX et FluideY sont si les mouvement du joueur sont fluide sur l'axe X et Y.

func (*Character) Init

func (c *Character) Init()

Init met en place un personnage. Pour le moment cela consiste simplement à initialiser une variable responsable de définir l'étape d'animation courante.

func (*Character) Teleport

func (c *Character) Teleport(newX, newY int)

func (*Character) Update

func (c *Character) Update(blocking [4]bool, width, height int)

Update met à jour la position du personnage, son orientation et son étape d'animation (si nécessaire) à chaque pas de temps, c'est-à-dire tous les 1/60 secondes.

Jump to

Keyboard shortcuts

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