Alors, tout d'abord parlons un peu du système de base. Dans un premier temps, il vous faut créer quatre nouvelles variables que vous nommerez
Héros X1, Héros X2, Héros Y1 et Héros Y2. Une fois que cela est fait, créez un nouvel
évènement commun dans votre
base de donnée. Nommez-le
Buit de Pas, en processus parallèle. Jusque là, c'est exactement comme Sylvanor vous l'a déjà expliqué. Mais c'est ici que ça se complique un peu. Lorsque l'on crée un nouvel évènement commun sous RPG Maker XP, il faut obligatoirement sélectionner
un interrupteur de déclenchement. Créez donc l'interrupteur
Bruit de Pas et selectionnez-le. Maintenant, vous pouvez commencez les choses sérieuses... Commencez tout d'abord par
rendre égales les variables Héros X2 et Héros Y2 aux coordonnées X et Y du Héros. Maintenant, créez une
boucle dans laquelle v
ous rendrez égales les variables Héros X1 et Héros Y1 aux coodronnées X et Y du Héros. Créez maintenant une
Condition.
Si la variable Héros X1 est différente de la variable Héros X2, jouez le bruit de pas adéquat puis
rendez égale la variable Héros X2 aux coordonnées X du Héros. Répétez la même manipulation en Y, cette fois. Une fois cela fait,
attendez 1 frame et fermez la boucle.
Pour activer les
Bruits de Pas sur une carte, créer un
nouvel évènement en processus parallèle dans lequel vous allez créer une nouvelle
boucle. À l'intérieur de la boucle,
attendez 1 frame puis appelez l'évènement commun
"Bruit de Pas". Voilà, maintenant vous devriez les entendre.
À présent, il faut faire en sorte que votre personnage puisque courir. Pour se faire, vous utiliserez le script suivant (Qui n'est pas de moi, bien entendu.) Créez donc un nouveau script au dessus de main que vous nommerez
Dash.
Voici le scipt :
Spoiler: (sélectionnez le texte pour l'afficher)
#============================================================================== # ++ グラフィック変更ダッシュ ver. 1.11 ++ # Script by パラ犬 # http://rpg.para.s3p.net/ #------------------------------------------------------------------------------ # 「Graphics/Characters」フォルダに # 「(先頭キャラの歩行グラフィック名)+_dash」という名前のファイルがある場合 # ダッシュ時のグラフィックとして使用します。(例:001-Fighter01_dash) #==============================================================================
class Game_Player < Game_Character
SPEED_DASH = 5 # ダッシュ時の移動速度 SPEED_NORMAL = 4 # 通常の移動速度
# ダッシュに使うボタン(表記方法は、Input::(ボタン)) #(キーボードとの対応表はツクールのヘルプにあります) KEY_DASH = Input::A
# "_dash"グラフィックが存在しない場合ダッシュをするか( true:する / false:しない ) NO_FILE_DASH = true
# ダッシュ禁止イベントスイッチID # (イベントコマンド「スイッチの操作」でこの番号のスイッチをONにしている間は # ダッシュを機能を無効にします) NO_DASH_SWITCH = 999
end
#============================================================================== # ■ Game_Player #==============================================================================
class Game_Player < Game_Character
#-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias dash_update update def update # 移動中、イベント実行中、移動ルート強制中、 # メッセージウィンドウ表示中のいずれでもない場合 unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if !($game_switches[NO_DASH_SWITCH]) # キー判定 if Input.press?(KEY_DASH) if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH) # ダッシュ中でなければダッシュ if @move_speed != SPEED_DASH @move_speed = SPEED_DASH @dash_on = true $game_player.refresh end end elsif @dash_on == nil or @dash_on @move_speed = SPEED_NORMAL @dash_on = nil $game_player.refresh end end end dash_update end #-------------------------------------------------------------------------- # ○ ダッシュグラフィックの有無をチェック #-------------------------------------------------------------------------- def dash_graphic_exist?(actor) # 読み込みテスト begin RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false end return true end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- alias dash_refresh refresh def refresh dash_refresh # パーティ人数が 0 人でない場合 if $game_party.actors.size != 0 actor = $game_party.actors[0] # キャラクターのファイル名と色相を設定 if @dash_on and dash_graphic_exist?(actor) fileplus = "_dash" else fileplus = "" end @character_name = actor.character_name + fileplus @character_hue = actor.character_hue end end end |
Une fois cela fait, il vous est possible de courir en appuyant sur la touche Z. Vous remarquerez cependant que le bruit "bug". C'est en raison de la vitesse à laquelle votre héros marche/court. Vous devrez bidouiller un peu le script et changer deux petits chiffres. Voici la manipulation à faire:
Remplacez :
Spoiler: (sélectionnez le texte pour l'afficher)
SPEED_DASH = 5 # ダッシュ時の移動速度 SPEED_NORMAL = 4 # 通常の移動速度 |
Par :
Spoiler: (sélectionnez le texte pour l'afficher)
SPEED_DASH = 4 # ダッシュ時の移動速度 SPEED_NORMAL = 3 # 通常の移動速度 |
Et voilà, votre héros marche et court parfaitement! À notez que grâce à ce script, il est possible d'animer votre personnage lorsqu'il court. Pour ce faire, vous devrez importer un nouveau caracter dans votre projet et ajouter à la fin _dash. Ainsi, si je veux animer 001-Fighter01, le caracter de ce même héros alors qu'il court devra s'appeler 001-Fighter01_dash.
Alors voilà, je crois que tout y est! Alors au revoir, mes confrères maker en herbe!
Télécharger un bruit de pas :
http://www.rpg-maker.fr/index.php?page=tutos&id=12