Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Understanding Input

Maddie edited this page Jan 3, 2024 · 6 revisions

Getting Input

Input Class

Celeste uses the static Input class to retrieve user input when needed. The Input class contains a number of members, each referencing a different input.

Luckily, getting input from within your own code mod is as simple as getting the value held within the field you need. Ex: Input.Jump.Pressed

Most values are pretty self-evident, such as the state of a button or key, represented as a boolean, but some require a little more explanation.

Buttons

Each button has a few relevant values: Pressed, Released, and Check. These return the following:

  • Check - Is the button currently pressed?
  • Pressed - Was the button just pressed?
  • Released - Was the button just released?

Axis Movement

Axis movement is split into the MoveX and MoveY fields, as well as GliderMoveY for Jellies

Each Axis returns a floating point value between -1 and 1.

Joystick

Joystick position, under the Aim member, is used primarily for movement while in a Feather. There is also MountainAim, which is used for moving the camera while on the overworld.

The Aim value is an Xna.Framework Vector2 with both values clamped between -1 and 1.

Creating a New Input

See the ButtonBinding section on the Mod Settings page

For questions and feedback, please contact @coloursofnoise on the Celeste Discord 🔗.

Clone this wiki locally

Morty Proxy This is a proxified and sanitized view of the page, visit original site.