Je suis très novice en matière de codage et j'essaie toujours différentes langues, j'ai commencé avec GameMaker Studio et j'ai changé pour Godot en raison de sa compatibilité avec Mac. Je pourrais aussi apprendre quelque chose de plus récent depuis que GameMaker est sorti . Je veux créer un jeu RPG et appliquer une animation dans chaque direction du personnage, mais l'animation ne joue que lorsque la touche est enfoncée ET levée. Cela signifie que pendant que l'on appuie sur ma touche, l'animation s'arrête et l'animation ne joue que lorsque mon personnage est immobile, ce qui est le contraire de ce que je veux. Le script a semblé très simple, mais ne semble pas fonctionner. Je marquerais ceci comme le langage GDScript au lieu de Python, mais je suppose que je ne suis pas assez réputé pour faire un nouveau tag, donc je l'ai marqué sous python parce que c'est le plus similaire. #variables étend KinematicBody2DGDScript: Comment jouer une animation pendant que la touche est préconfigurée?
const spd = 100
var direction = Vector2()
var anim_player = null
func _ready():
set_fixed_process(true)
anim_player = get_node("move/ani_move")
#movement and sprite change
func _fixed_process(delta):
if (Input.is_action_pressed("ui_left")) :
direction.x = -spd
anim_player.play("ani_player_left")
elif (Input.is_action_pressed("ui_right")):
direction.x = spd
anim_player.play("ani_player_right")
else:
direction.x = 0
if (Input.is_action_pressed("ui_up")) :
direction.y = -spd
anim_player.play("ani_player_up")
elif (Input.is_action_pressed("ui_down")):
direction.y = (spd)
anim_player.play("ani_player_down")
else:
direction.y = 0
if (Input.is_action_pressed("ui_right")) and (Input.is_action_pressed("ui_left")):
direction.x = 0
if (Input.is_action_pressed("ui_up")) and (Input.is_action_pressed("ui_down")) :
direction.y = 0
# move
var motion = direction * delta
move(motion)
Est-ce que ma réponse pourrait vous aider, avez-vous besoin de plus d'infos? Si cela a aidé, ce serait génial si vous pouvez l'accepter =) –