[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild1 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
943: 名前は開発中のものです。 [] 2019/03/01(金) 00:04:34.90 ID:i9oiQn3T ...取り乱しました。>>941 様 まずUIなどを階層に収めた"オブジェクトA"を作りました。 これをAlpaを使って表示/非表示にするテストを行いたく、AlphaScript(拾い物コピペ)を "オブジェクトA"にアタッチしました。 さて、作っているアプリを動かすメインスクリプトをアタッチした"オブジェクトMain" があります。ここから"オブジェクトA"のAlphaScriptにアクセスし、"オブジェクトA"の子であるUI なども一緒に透過されるかテストしてみたいのです。しかし困った事に >>926 >>928 GameObject.FindObjectOfType< AlphaScript >().SetCanvasGroupEnable( null, false ); このソースの"null"の部分、"null"ではエラーが起こってしまう、でも自分は "null”以外にスクリプトエディタに怒られない文字列を知らない。 "null"の意味は知ってるが、じゃあ代わりに第一引数にどんなワードを入れたら良いのか 解らない。教えていただけませんか?と、ずっと言っております。 自分はunity初心者で、教本も"Unity5の教科書"を一通りやった程度で、 C#の本については購入検討中です。高いし。 なので、経験者の皆様には言っている事がまるでおかしいかのかもしれませんが、 解る方おられましたらどうか宜しくお願い致します http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/943
945: 名前は開発中のものです。 [] 2019/03/01(金) 00:14:26.79 ID:i9oiQn3T 自分は単純に"オブジェクトA"の"AlphaScript"に「false」を伝えたいのですが、 GameObject.FindObjectOfType< AlphaScript >().SetCanvasGroupEnable( null, false ); ではスクリプト自体がnullになってしまう。でもその代わりを知らない。 そもそもCanvasGroup canvasGroup,自体はいじる必要が無い。 この後の bool enable をfalseにしたいだけなのに、 Ascript.SetCanvasGroupEnable(ここ,false); ここに何か入れなきゃならないようです。falseだけにしたら SetCanvasGroupEnableがアカンって怒られるし...この場合、どういった記入を したら良いのでしょう? http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/945
948: 名前は開発中のものです。 [] 2019/03/01(金) 00:40:56.10 ID:i9oiQn3T >>946 様 有難うございます。オブジェクトMainに MainGameObject.FindObjectOfType<CanvasGroup>().alpha = 0;と書いた所 Gameシーン上で透過されるのを確認しました。 しかし、勿論これは良いのですが、AlphaScriptはなんの働きもしてませんよね? 後々いじるのに便利そうなので、使ってみたいのです。となると、単純な疑問が 浮かんできます A public void SetCanvasGroupEnable(CanvasGroup canvasGroup, bool enable) このスクリプトAに対し B FindObjectOfType<AlphaScript>().SetCanvasGroupEnable(num,false);FindObjectOfType<AlphaScript>().SetCanvasGroupEnable(「ここ」,false); Bの「ここ」は、何と書いたらVSに怒られず通るのでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/948
949: 名前は開発中のものです。 [] 2019/03/01(金) 00:43:39.75 ID:i9oiQn3T >>948 の訂正 すみません、ミスしたので訂正させて下さい >>946 様 有難うございます。オブジェクトMainに MainGameObject.FindObjectOfType<CanvasGroup>().alpha = 0;と書いた所 Gameシーン上で透過されるのを確認しました。 しかし、勿論これは良いのですが、AlphaScriptはなんの働きもしてませんよね? 後々いじるのに便利そうなので、使ってみたいのです。となると、単純な疑問が 浮かんできます A public void SetCanvasGroupEnable(CanvasGroup canvasGroup, bool enable) このスクリプトAに対し B FindObjectOfType<AlphaScript>().SetCanvasGroupEnable(「ここ」,false); Bの「ここ」は、何と書いたらVSに怒られず通るのでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/949
952: 名前は開発中のものです。 [] 2019/03/01(金) 01:53:36.21 ID:i9oiQn3T >>950 様 最後の行 my_script.SetCanvasGroupEnable(hoge); がVSに認識されませんでした が、自分のスクリプトに入れただけなのでミスがあるかもしれません。 後日新しいスクリプトファイルで勉強させて頂きます。有難うございました! >>951 様 SetCanvasGroupEnable(CanvasGroup, false); ではVSに怒られてしまいました。しかしそちらで動いているのならば、 こっちがおかしいのだと思います。わざわざ遅い時間まで有難うございました! >>こんな型宣言して使ったことなかったから調べるだけでも精一杯 この言葉がありがたかったです。それにより「なぜそんな二度手間をする?」 の意味がわかった気もします。 そして>>941 様 有難うございました http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/952
953: 名前は開発中のものです。 [] 2019/03/01(金) 07:07:08.86 ID:i9oiQn3T >>950様 新規csファイルで確認しましたが、VSは通してくれたものの、Unityはnullエラーを 返してきましたので報告させていただきます。以下は自分の解釈を付けたものです //A_アクセスされる側のcs.目的は自身のアルファ値を0か1にする事だけに絞ってます public class NewBehaviourScript : MonoBehaviour { private CanvasGroup canvasGroup; void Start () { canvasGroup = GetComponent<CanvasGroup>(); } public void SetCanvasGroupEnable(bool enable)//変数"enable"をbool値(省略ではtrue)で作成 //>>950さんは(「ここ」,false);が解らないなら最初から設定すんなって事を言ってるのだと解釈。 { if (enable)//enable==turueであれば //以下の処理 { canvasGroup.alpha = 1; } else//そうでなければ //以下の処理 { canvasGroup.alpha = 0; } } } ---------------- http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/953
954: 名前は開発中のものです。 [] 2019/03/01(金) 07:09:12.88 ID:i9oiQn3T ---------------- //B_アクセスする側のcs public class NewBehaviourScript1 : MonoBehaviour { public bool hoge = false;//bool値 hoge にfalseを代入 private NewBehaviourScript my_script;//my_scriptにNewBehaviourScript.csの"形"を代入。宣言?でいいのかな void Start () { my_script = GetComponent<NewBehaviourScript>();//my_scriptにNewBehaviourScriptクラスをを代入 //以下↓のようにmy_script.SetCanvasGroupEnable();と言うようにアクセスする事が出来る } void Update () { my_script.SetCanvasGroupEnable(hoge);//hoge==false のはず...しかしここでnullエラーを返される } } と言った結果でした。 とりあえずC#の教本は買おうと思います http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/954
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s