戦闘アニメーションの表示 / ツクールVXAceスクリプト(RGSS3)wiki
ツクールVXAceで戦闘アニメーションの表示をスクリプトで行うなら以下の通りです。
iterate_enemy_index(敵ID) do |enemy| enemy.animation_id = アニメーションID if enemy.alive? end
サンプルコード(敵2に刺突/炎)
iterate_enemy_index(1) do |enemy| enemy.animation_id = 14 if enemy.alive? end
コード解説
1~3行目:iterate_enemy_index(敵ID) do |enemy|
iterate_enemy_indexについてはrubyに慣れていない方だと見慣れない形ですが、これはブロックと呼ばれる処理の塊です。(無名関数のようなもの)
興味のある方は「Ruby ブロック」と検索してみて下さい。
ここではiterate_enemy_indexメソッドで取得した敵のデータの数だけ{}内の処理を繰り返すという意味合いです。
2行目:enemy.animation_id = アニメーションID if enemy.alive?
enemyは指定した敵のデータが入った変数です。
$game_troop.members[敵ID]と同義です。
animation_idでは指定した敵に指定したIDのアニメーションを表示させます。
しかし、if enemy.alive?では敵が戦闘不能でないかどうかを判定しているため、戦闘不能の場合はアニメーションは再生されません。
if文を一行で書こうとするとこのような形になります。
ツクールVXAceスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。