敵キャラのTP増減 / ツクールMVスクリプトリファレンスwiki
ツクールMVで敵キャラのTP増減をスクリプトで行うなら以下の通りです。
this.iterateEnemyIndex(敵ID, function(enemy) {
enemy.gainTp(増減値)
}.bind(this))
敵IDについては-1のような負の数で敵全体が対象となり、0から1番目の敵IDとなります。
サンプルコード(敵IDが1の敵のTPを5減らす)
this.iterateEnemyIndex(0, function(enemy) {
enemy.gainTp(-5)
}.bind(this))
コード解説
1行目:this.iterateEnemyIndex(敵ID, function(enemy) {
"iterateEnemyIndex"メソッドは対象が敵全体か、敵単体かを判別し、処理(ここではTPの増減)を行うメソッドです。
もし、全体を対象とするのか、単体を対象にするのか決まっている場合は以下ようなコードでも可能です。
//敵単体を対象とする場合
$gameTroop.members()[敵ID].gainTp(増減値)
//敵全体を対象とする場合
$gameTroop.members().forEach(function(enemy){
enemy.gainTp(増減値)
}.bind(this));
敵全体を対象とした時のコード量はあまり変わりませんが、単体を対象とする時は1行で済むため、単体のみを対象とする時はこちらを使用した方が良いでしょう。
"function(enemy)"では対象に実行する処理を指定しています。
"function"とは処理の塊を表し、enemyはここで使用されるパラメータで、対象とする敵のデータが格納されます。
このenemyというのは変数のため、お好きな名前(tekiやbossなど半角英数字)に設定することも可能です。
見やすさを優先したため、function後の"{"で改行していますが、塊としては"function(enemy){処理}"となります。
2行目:enemy.gainTp(増減値)
"gainTp"メソッドはTPに増減値分の変更を加える処理です。
正の値で増加、-(マイナス)を付けて負の数で減少です。
"enemy"は敵単体を指します。
敵IDが0以上であれば指定したID-1の敵を、負の数であれば敵の数だけ繰り返して敵全体に"gainTp"メソッドが適応されます。
ツクールMVスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。