# マニュアル: 実行アクション「プロパティを変更(ChangeObjectProperty)」

**URL:** <https://guild.rpgmakerofficial.com/t/topic/388>\
**Category:** チュートリアル\
**Tags:** 日本語, manual\
**Created:** [2025 年 6 月 22 日午前 8:38 UTC](https://guild.rpgmakerofficial.com/t/topic/388 "2025-06-22T08:38:55Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2025 年 6 月 22 日午前 8:38 UTC](https://guild.rpgmakerofficial.com/t/topic/388/1 "2025-06-22T08:38:56Z")

</div>

こちらの実行アクションでは、大きく以下の3種類のデータを変更することができます。

1. オブジェクトの変数/スイッチ
2. データベースのデータ(ここにはプロジェクト共通の変数/スイッチも含まれます)
3. 各ノードのプロパティ

それぞれについて解説します。

## 1. オブジェクトの変数/スイッチ

各オブジェクトのSwitchSettings/VariableSettingsノードに格納された変数/スイッチを変更することができます。  
ただし、 **以下の変数/スイッチは読み取り専用の変数のため変更できません。**

| タイプ | 名称 |
| --- | --- |
| スイッチ | is\_locked, is\_touching\_portal |
| 変数 | object\_id, stayed\_area\_id, visible\_direction, x\_speed, y\_speed, player\_id, controller\_id, taken\_damage |

### 読み取り専用の変数/スイッチが存在する理由

**関連リンク条件である「スイッチ・変数が変化した」** で扱うために存在しています。直接プロパティの値を条件とすることができないため、スイッチ・変数として連動して格納しています。

## 2.データベースのデータ

ユーザーデータベース/プロジェクト変数/プロジェクトスイッチを変更することができます。  
タイププリセットとサウンドデータベースではこの実行アクションではアクセスできません。

### レコードを変数で指定オプション

レコード(行)をオブジェクト変数で指定するオプションです。  
指定した変数の値が5の場合、指定したカラム（列）の上から5行目のレコードが選択されます。

使用例としては、アイテムのデータベースを作成し、取得したアイテムの情報を表示するといったステートを作成する際、このオプションを使えば1つのステートで作成することができます。このオプションを扱わない場合は、アイテムIDの数だけ分岐が必要になってしまいます。

## 3.各ノードのプロパティ

ACTION GAME MAKER用のノードに限らず、各ノードのプロパティの値を変更することができます。  
原則的にどのようなプロパティでも書き換えることができるので、一例として以下のようなことが可能です。

MoveAndJumpSettingsで加速移動プロパティを有効にして移動タイプを切り替える。  
Sprite2DのVisibleプロパティを書き換えて非表示にする。  
HitCollisionのDisabled(無効化)プロパティを有効にして当たり判定を無効にする。  
Labelノードのテキストをデータベースの文字列データで書き換えて別のテキストを表示する。

## 親オブジェクトを対象にする際の挙動

親オブジェクトを対象にする際のみ、対象のシーン判定を行わない挙動としております。  
そのため、親オブジェクトが指定したものとは別のシーンであっても、同じ項目が存在すれば正常に動作します。  
これにより、ダメージ判定等共通の子オブジェクトが作成可能です。

## ⚠ プロパティを変更アクションをご利用頂く上での注意点

### ユーザー変数/スイッチ/ノードの並び順を変更すると対象がずれる可能性があります。

こちらは、Godotの制約上、Index(並び順)指定で変更を行うためです。  
上からX番目にあるプロパティを変更する、という挙動を行います。  
そのため、 **「途中にあるユーザー変数を削除して繰り上げる」「ノードを入れ替える」といった動作をすると、設定済みのアクションの参照がすべてずれてしまいます。**

### ロックしたオブジェクト/指定したオブジェクト等を対象とした時、対象シーンをファイルシステムで動かす、ファイル名/フォルダ名を変える等の動作を行うと正常に動作しなくなります。

各対象シーンのパスは「文字列」で指定されているためです。  
本来Godotではファイルシステムでシーンを動かしても自動でパスが更新されますが。ACTION GAME MAKERのアクションで指定するパスはただの「文字列」なので自動で更新されません。  
こちらは、Godotの強力な再帰ループ検知/ブロックシステムを回避するための措置となっております。
