質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

942閲覧

UnityのCanvasをボタンで切り替えたときに、ボタンがきかなくなってしまう

UtsuhoReiuji

総合スコア0

canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/09/07 11:21

編集2021/09/07 12:46

前提・実現したいこと

こんにちは。Unity初心者です。
添付した画像をご覧いただきながら読んでいただければ、伝わりやすいかと思います。よろしくお願いします。
イメージ説明
UnityでUIを作っています。元となるCanvasが2つあります。画像のA_CanvasとB_Canvasです。A_Canvasの子オブジェクトとして3つのCanvas(pageCanvas01~03)があります。B_Canvasには子オブジェクトとして(pageCanvas04という)Canvasが1つあります。画像の①の部分のボタンを押すことによって、A_Canvas内の3つのCanvasを表示・非表示させています。画像の右下にありますがOnClick()でCanvas.enabledを操作しています。また、画像の②の部分を押すことによって、A_CanvasとB_CanvasもOnClick()のCanvas.enabledで表示・非表示させられて、これもきちんと動きます。しかし、②でA_CanvasとB_Canvasの切り替え操作をした後、①でA_Canvas内の3つのCanvasを操作しようとすると”ArgumentException: method arguments are incompatible”というエラーが出てボタンがきかなくなってしまいます。これを解消し、②の操作後でも①でのボタン操作を可能にしたいのですが、どうすればよいのか教えていただきたいです。
長くなってしまいましたが、よろしくお願いします。また、今わたしがやっているやり方でなく、もっといい手段があるよ、ということもありましたら、ご教授いただければ幸いです。重ね重ねよろしくお願いします。

発生している問題・エラーメッセージ

ArgumentException: method arguments are incompatible
System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure, System.Boolean allowClosed) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method) (at <695d1cc93cca45069c528c15c9fdd749>:0)
UnityEngine.Events.InvokableCall1[T1]..ctor (System.Object target, System.Reflection.MethodInfo theFunction) (at <127e81e1cb3441cc97d26b1910daae77>:0) UnityEngine.Events.CachedInvokableCall1[T]..ctor (UnityEngine.Object target, System.Reflection.MethodInfo theFunction, System.Boolean argument) (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Events.PersistentCall.GetRuntimeCall (UnityEngine.Events.UnityEventBase theEvent) (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Events.PersistentCallGroup.Initialize (UnityEngine.Events.InvokableCallList invokableList, UnityEngine.Events.UnityEventBase unityEventBase) (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Events.UnityEventBase.RebuildPersistentCallsIfNeeded () (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Events.UnityEventBase.PrepareInvoke () (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Events.UnityEvent.Invoke () (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.UI.Button.Press () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:68)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:110)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:262)
UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:385)

該当のソースコード

スクリプトはありません

試したこと

googleで調べてみましたがわかりませんでした。

補足情報(FW/ツールのバージョンなど)

Unity 2020.3.11f1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bboydaisuke

2021/09/07 12:37

エラーの先頭しかないので何が起きたのかわからないですね。エラーはもっとスタックトレースがたくさん記録されているんじゃないかと思うので、全部コピペしてください。でないと意味がわからないです。
UtsuhoReiuji

2021/09/07 12:46 編集

失礼しました。長かったので全文貼るのをためらってしましました。よろしくお願いします。
bboydaisuke

2021/09/07 12:45

ここに書くんじゃなくて、質問を編集してそっちに書いてください。ここに書いてもわざわざ見る人はほとんどいないと思いますよ。
bboydaisuke

2021/09/07 12:46

長いから貼りたくない? ``` で囲めば折りたためるようにできるので長いかどうかは関係ないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問