Merci de m'avoir répondu aussi rapidement ! C'est sympa !
Ayant commencer à apprendre le RGSS depuis seulement deux semaines, j'ai encore du mal... mais bon je vais bien y arriver !
J'ai cherché à réparer mon erreur, en exécutant l'animation par le biais d'un event. L'ennui, c'est que la variable $game_player, court-circuite la fin du script et oblige le joueur à avancer chaque fois que j'appuie sur :Z, ce qui n'est pas vraiment l'effet voulu !
Aussi je souhaiterais savoir s'il existe une autre manière de récupérer les cordonnées du joueur ?
Merci !!
Spoiler (cliquez pour afficher)
class Game_Player < Game_Character
alias jervi_input_update update
def update
jervi_input_update
if Input.trigger?(:Z)
if @direction == 8
@y = $game_player.y-1
@x = $game_player.x-1
jervi_event = RPG::Event.new(@x, @y)
jervi_game_event = Game_Event.new($game_map.map_id, ev)
jervi_game_event.animation_id = 2
end
end
end
end
EDIT : Bon ! Finalement, j'ai réussi... disons sur le principe.
Spoiler (cliquez pour afficher)
class Game_Player < Game_Character
alias jervi_input_update update
def update
jervi_input_update
if Input.trigger?(:Z)
@y = $game_player.y
@x = $game_player.x
if @direction == 8
$game_map.events[8].moveto(x, y-3)
$game_map.events[8].animation_id = 2
end
end
end
end
L'ennui, c'est que je suis obligé d'utiliser un événement sur la map. Encore cela, c'est pas trop grave. Le soucis, c'est plutôt que mon effet est limité à un seul Tile. Or, j'aimerais utiliser ce principe pour transmettre de l'information (variable, effet de zone...) et j'aurais voulu ne pas être limité dans ma zone d'action. Il faudrait que je trouve un moyen déclencher directement l'événement à l'endroit voulu sans passer par un évènement ou d'étendre le champ d'action d'un évènement. Mais là, trop dur pour moi...
|