CommandMode.UseItemPanelToItemPanel;Input.ResetInputAxes();}鎧か武器かで判断しキャラクターの装備から外します。今のままだとマウスのクリックでコマンドの選択をする時にボタン外をクリックするとボタンの選択が解除されてしまいます。そこでEventSystemの選択が解除された時に現在のcurrentCommandに応じてそのパネルの一番最初の子要素を無理やり選択状態にし、選択が解除されている状態がないようにしておきます。Updateメソッドの最後に以下の処理を追加します。{EventSystem.current.SetSelectedGameObject(useItemSelectCharacterPanel.transform.GetChild(0).gameObject);}}EventSystem.current.currentSelectedGameObjectがnullの時はUIが選択されていない状態なので、その時のcurrentCommandの状態を見て、該当するパネルの最初の子要素を無理やり選択させるようにしています。これで機能が出来たのでCommandゲームオブジェクトのCommandScriptのItemPanelButtonPrefabにAssets/RPG/Prefabs/UI/Command/ItemPanelButtonプレハブを設定し、UseItemPanelButtonPrefabにAssets/RPG/UI/Command/UseItemPanelButtonプレハブを設定します。アイテム一覧にあらかじめボタンを配置しておく方法この記事の最初の方で言及しましたが、この記事を含めてユニティちゃんのRPGを作ってみようのカテゴリ全般でUIのパネルに表示するボタンをプレハブからインスタンス化しています。この方法だと今開いているパネルの前のパネルに戻った時にインスタンス化したボタンを全部削除する処理が必要になります。アイテム数が多くなったり頻繁にキャンセルボタンを押して戻って選択して戻ってという処理を繰り返すと無駄にボタンのゲームオブジェクトの削除と生成を繰り返します。そこでアイテム一覧等にあらかじめボタンを配置しておいてあらかじめあるボタンを操作してボタンの子要素のTextやボタンを押した時の動作を設定した方がいいかもしれません。わたくしの場合は最初にボタンプレハブをインスタンス化する方法で作ってしまったのでもう書き換えませんが・・・・(^_^;)あらかじめボタンを配置しておくやり方を書いておきます。キャラクター選択パネルなどでもあらかじめボタンを配置しておくことが出来ますが、個数が多いアイテム一覧を例にとっています。ItemPanelの子要素のContentにAssets/RPG/Prefabs/UI/ItemPanelButtonプレハブをゲーム内で使用するアイテムの総数分作成します(持っているアイテムより少なく作ってはいけません)。スクロール関連のスクリプト等は次の記事で作成します。次にアイテム一覧で一回に表示されるアイテムボタンの最後の二つにScrollDownScriptを取り付け、次の画面の最初のアイテムボタンにScrollUpScriptを取り付けます。次にCommandScriptのOnEnableメソッドでアイテムパネルボタンがあれば削除していた箇所をコメントにするか削除します(消す必要がなくなったからです)。Destroy(content.transform.GetChild(i).gameObject);//}Updateメソッドのキャンセルボタンを押した時の処理でも同様にアイテムパネルボタンを削除している所をコメントにするか削除します。Destroy(content.transform.GetChild(i).gameObject);//}キャラクターが持っているアイテムのボタンを表示しているCreateItemPanelButtonメソッドを修正します。"アイテムを持っていません。"アイテムを持っていません。true;}}ItemPanelButtonPrefabをインスタンス化していた箇所をcontent.transform.GetChild(itemPanelButtonNum).gameObject123content.transform.GetChild(itemPanelButtonNum).gameObjectとしてcontentの子要素のゲームオブジェクトを順番に取得するようにします。以前アイテム一覧を開いた時に持っているアイテムの数より後のボタンは非表示にしている可能性がある為、アクティブにしておきます。itemButtonIns.SetActive(true);123itemButtonIns.SetActive(true);ボタンには依然開いた時にボタンを押した時に実行するメソッドが設定されている可能性があるのでitemButtonIns.GetComponent<Button>().onClick.RemoveAllListeners();123itemButtonIns.GetComponent<Button>().onClick.RemoveAllListeners();でボタンを押した時に実行する処理を削除します。ボタンが押された時にSelectItemメソッドの呼び出し処理の追加と引数を設定します。アイテムのボタンはインスタンス化するか元から配置しているものを使うかの違いだけなので大きな変化はありません。ItemPanelButtonは持っているアイテム数以上に配置したのでアイテム数を超えた場合はその後のアイテムボタンは非表示にします。{という条件に変更します。これであらかじめItemPanelButtonを配置しても同じような処理に出来ました。アイテムコマンドの確認これで機能が出来ました。実行して試してみましょう。上のようにアイテムコマンドが出来上がりました。終わりに今回のアイテムコマンドの処理は非常に面倒な処理が多いですね・・・・。処理も分かり辛くなってますし・・・・、量が多いのでどこか記述漏れや間違いがあるかもしれません。(._.)前回のステータスコマンドと今回のアイテムコマンドはパネルを開いてそのパネルを最前面に表示しコマンド処理をしていますが、Animationを使ってUI画面が動くように作るとまた違った良さが出そうですね。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう9ーアイテムやステータス等のデータ作成ーユニティちゃんのRPGでアイテムやステータス等のデータの作成についてやっていきたいと思います。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう13ー次のボタンの選択速度を上げるーユニティちゃんのRPGでコマンド等の選択で次のボタン選択速度を上げる設定をしたいと思います。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう21ー戦闘で使うスキルデータを作成するーユニティちゃんのRPGの戦闘シーンで使用するスキルデータを作成してきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう12ーアイテム一覧のスクロール機能ーユニティちゃんのRPGのアイテムコマンドのアイテム一覧でキーボードやゲームコントローラー操作でアイテム一覧をスクロール出来るようにしていきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう2ー移動キーを押した時にユニティちゃんを動かすーユニティちゃんのRPGで移動キーを押した時にユニティちゃんが動くようにしていきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう6ー村人のプレハブ可と村のBGMの設定ーユニティちゃんのRPGで村人の移動機能と会話機能をプレハブにしたり、村のBGMを流すようにしてみます。ユニティちゃんのRPGを作ってみよう10ーコマンド画面の作成とステータスの表示ーユニティちゃんのRPGを作ってみよう12ーアイテム一覧のスクロール機能ーホーム作ってみようシリーズユニティちゃんのRPGを作ってみようスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。