[解決済み]スクリプトでの計算について質問させてください。

あきまり
記事: 48
登録日時: 2018年2月04日(日) 06:45

[解決済み]スクリプトでの計算について質問させてください。

投稿記事by あきまり » 2021年6月28日(月) 08:56

RPGツクールと数学のブログ
https://fermiumbay13.hatenablog.com/ent ... /01/192444
を見てアクションゲームを作ろうとしているのですが、

スクリプト内容↓

enemyDamage = new Array(999);
for(var i = 0; i < 999; i++){
enemyDamage[i] = 0;
}

で999個の配列変数を作り次に

スクリプト:enemyDamage[this.character(0)._eventId - 1] += 1;
◇条件分岐:スクリプト:enemyDamage[this.character(0)._eventId - 1] >= 3

と続き

enemyDamage[this.character(0)._eventId - 1] += 1;

これは、現在のイベントのダメージ量を1足すという意味です。大きな攻撃の場合は、ダメージ量を2以上の値にしてやるとそれっぽいですね。

this.character(0)._eventId
=このイベントのイベントID

enemyDamage[this.character(0)._eventId - 1]
=このイベントのenemyDamage(1ずらすのを忘れずに)

a += 1;
変数aに1を加算

次の条件分岐もスクリプトで記述していますが、enemyDamageの部分は同じです。「このイベントのダメージ量」を表します。それが3以上だったら条件分岐の中に入れます。3ダメージで倒れるということです。この「3」がこうもりのHPになるので、ここを変更すれば敵のHPが変わります。


と書いてあるのですが

enemyDamage[this.character(0)._eventId - 1] += 1;

この部分の1足すという箇所を変数の数値分足したいのですがどうすれば良いのでしょうか?
やりたい事としては…
アクターの攻撃力を変数に入れ、その分をダメージにするみたいな動きをさせたいです。

よろしければご返答お願いいたします。
最後に編集したユーザー あきまり on 2021年6月29日(火) 03:16 [ 編集 1 回目 ]

ecf5DTTzl6h6lJj02
記事: 477
登録日時: 2018年12月23日(日) 13:55

Re: スクリプトでの計算について質問させてください。

投稿記事by ecf5DTTzl6h6lJj02 » 2021年6月28日(月) 15:33

こんにちは。
あきまり さんが書きました:enemyDamage[this.character(0)._eventId - 1] += 1;

この部分の1足すという箇所を変数の数値分足したいのですがどうすれば良いのでしょうか?
やりたい事としては…
アクターの攻撃力を変数に入れ、その分をダメージにするみたいな動きをさせたいです。

変数の値は

コード: 全て選択

$gameVariables.value(変数ID)

で取得することができます。


攻撃力は、
指定したアクターIDのアクターの攻撃力の場合、

コード: 全て選択

$gameActors.actor(アクターID).atk

先頭のアクターの攻撃力の場合、

コード: 全て選択

$gameParty.leader().atk

パーティのn番目のアクターの攻撃力の場合、

コード: 全て選択

$gameParty.allMembers()[n].atk  //先頭が0なので注意

などとすることで取得できますので、
変数を使わずにこれを使う方法もあります。
あきまり
記事: 48
登録日時: 2018年2月04日(日) 06:45

Re: スクリプトでの計算について質問させてください。

投稿記事by あきまり » 2021年6月28日(月) 20:12

ecf5DTTzl6h6lJj02様 返答ありがとうございます。

enemyDamage[this.character(0)._eventId - 1] += $gameVariables.value(変数ID);

と書いて望んだ動作がたぶん?出来ましたありがとうございます。

“MV:質問” へ戻る