💣
#cluster クリックしたらアイテム生成するアイテムを作る [個数制限付き]
この記事の応用でこんなのが作れます。 10個まで生成できるようになっていますが、
数値を変更することで 数の制限を変更する事ができます。
使うコンポーネント
-
Item
ワールド上に配置できるインタラクティブなオブジェクトの総称 -
On Create Item Trigger
アイテムが生成された時に通知するトリガー -
Interact Item Trigger
掴めないアイテムに「使う」機能を追加し、使われたことを通知するトリガー -
Create Item Gimmick
アイテムを生成するギミック -
Item Logic
メッセージを読み取り、計算した結果をアイテムへメッセージとして通知するオペレーション
作り方
生成するアイテムを作る
はじめに生成するアイテムとして シンプルなキューブ を用意します。
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- 名前を
CubeContainer
にする -
CubeContainer
以下に Cube を追加する - Cube の Scale を 0.2,0.2,0.2 にする
-
CubeContainer
を Hierarchyで選択する。 - Inspector で Add Component で
Rigidbody
を追加する - Inspector で Add Component で
Item
を追加する -
CubeContainer
を Project 欄に ドラッグ&ドロップして Prefab にしておく。
この操作で CubeContainer
が 青色アイコンで Prefab として Hierarchyに表示されている筈。
ボタンの見た目を作る
次はタップするボタンになる アイテムを用意します。
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- 名前を
ButtonContainer
にする -
ButtonContainer
以下に Sphere を追加する - Sphere の Scale を 0.2,0.2,0.2 にする
-
ButtonContainer
の Transform Y を 1.0 にする。
ボタンを押すとアイテムが生成されるようにする
まずは 個数制限ナシで アイテムが生成できるようにしてみます。
ButtonContainer
に Creator Kit コンポーネントを追加して設定します。
- Hierarchy で
ButtonContainer
を選択する。 - Inspector で Add Component で
Interact Item Trigger
を追加する - Triggersの+ボタンを押す
- Target This
Click
Signal を設定する - Inspector で Add Component で
Create Item Gimmick
を追加する - Target This
Click
Item Template - Item Template 欄に Projectの CubeContainer Prefabを ドラッグ&ドロップして設定する
ここまでの設定で個数制限ナシで アイテムが生成できるようになった筈です。
個数制限を追加してみる。
アイテム生成ができるようになったので ButtonContainer
に Creator Kit オペレーションコンポーネント を追加して個数制限をつけてみます。
- Hierarchy で
ButtonContainer
を選択する。 - アイテム生成時に生成する個数とカウントの為の数値を設定する
Inspector で Add Component でOn Create Item Trigger
を追加する - Triggersの+ボタンを押す
- Target This
MAX_COUNT
Integer 10 を設定する - Triggersの+ボタンを押す
- Target This
count
Integer 0 を設定する - Inspector で Add Component で
Item Logic
を追加する - This
Click
を設定する - +ボタンを押す
- count を加算する設定を追加する。
Target Thiscount
Integer
RoomState Integer Thiscount
Constant Integer 1 - +ボタンを押す
-
count
<=MAX_COUNT
の場合だけアイテムが生成されるようにする
Target ThisCreate
Signal
LessThanOrEqual
RoomState Integer Thiscount
RoomState Integer ThisMAX_COUNT
-
Create Item Gimmick
に設定している Key をClick
からCreate
に変更する
生成する個数を変更してみる
値を変更することで 20個 まで生成できるようにしてみます。
- Hierarchy で
ButtonContainer
を選択する。 - Inspector で
On Create Item Trigger
を選択 -
MAX_COUNT
の数字を 20 に設定する
これで 20個 生成できるようになる筈です。
リセット
20個まで生成した状態をリセット(countを 0 にする)ボタンを作ってみます。
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- 名前を
ResetContainer
にする -
ResetContainer
以下に Sphere を追加する - Sphere の Scale を 0.2,0.2,0.2 にする
- Inspector で Add Component で
Interact Item Trigger
を追加する - Triggersの+ボタンを押す
- Target
SpecifiedItem
count
を設定
※ SpecifiedItem にすると this の値を書き換える事ができる。 - Item 欄に Hierarchyの
ButtonContainer
をドラッグ&ドロップして設定 - Value Integer 0 を設定
Discussion