❤ 0 Bonjour à tous et à toutes, ceci est mon premier tutorial que je classe niveau débutant (étant débutant moi-même). Tout d'abord, je souhaite citer et remercier Sylvanor, dont le tutorial est à l'origine de celui-ci, ainsi que Lünn qui m'a donné un petit coup de main, que dis-je, un sacré coup de main. Donc, merci.
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 vous 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 script :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| #==============================================================================
# ++ グラフィック変更ダッシュ 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 :
1
2
| SPEED_DASH = 5 # ダッシュ時の移動速度
SPEED_NORMAL = 4 # 通常の移動速度 |
Par :
1
2
| 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
C'est le tutoriel de Sylvanor sur lequel vous trouverez les bruits de pas que j'ai utilisé.
Script provenant de :
http://rpgcreative.net/
|