[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
935: 2019/02/28(木)22:47 ID:OXsNW9EN(7/10) AAS
nullの代わり...皆、なかなか答え出してくれませんねw
でも今まで浮かばなかった検索候補、調べてきまーす
936: 2019/02/28(木)22:52 ID:I+prdr9U(2/2) AAS
答自分で書いてるし、メソッドの意味が分かってない以上無駄やな
正直に全然意味が分からないと言えば、929あたりが教えてくれたかもなあ
937
(1): 2019/02/28(木)23:16 ID:OXsNW9EN(8/10) AAS
すげえ意地悪だね? ずっと
public void SetCanvasGroupEnable(CanvasGroup canvasGroup, bool enable)
の「CanvasGroup canvasGroup, に対しての書き方が解らない」って言ってるでしょ?
ここ初心者スレじゃないの?なのになんで皆質問を質問で返したり
回りくどいヤな言い方しかしないワケ?
nullの代わりなんか解らんし見つからなかったよ。質問文見りゃどの程度かくらいわかるでしょ
938: 2019/02/28(木)23:19 ID:OXsNW9EN(9/10) AAS
質問自体がおかしいなら どこがどう考え方が間違ってる とか、
こういうサイトのこの部分を勉強しろとか言ってくれてもいいじゃない
939
(1): 2019/02/28(木)23:26 ID:cRHmfK5c(2/2) AAS
>>937
質問したら礼ぐらいしてから次の質問したらどうですか?
常識ないんですか?
わざとやってるんですか?
940
(1): 2019/02/28(木)23:38 ID:OXsNW9EN(10/10) AAS
>>939 あなたこそわざとやってるのですか?
自分に対するレスはどれも回りくどく、どれも正解を書いていない
馬鹿にするレスもある。教えてくれたと思ったレスには>>927
ちゃんとお礼言ってるが、それに対して >>929 この返信
自分が非礼だと言うのなら、>>923 以降でどのレスが気に入らなかったのか
言ってくださいよ
941
(2): 2019/02/28(木)23:40 ID:zu1kHZY3(1/2) AAS
落ち着け。
回答者の言葉尻を捉えて腹立てるんじゃない。教えてほしいから聞いてるんだろ、華麗にスルーしなさい。どこもこんな人達はいっぱいいるよ。
あと、分かってるなら答えがわかるはず、と分かってるけどnullは分からない、は完全にすれ違ってるの。
どう違ってるか改めて真摯に聞いてみなさい。
まずは自分がどう考えているかでも辻褄が合ってないところ、そういう説明がないと明確に答えられないし、面白がってヤジが群がるぞ。
942: 2019/02/28(木)23:43 ID:zu1kHZY3(2/2) AAS
>>940
おいおいおいw
>929の返信は失礼な要素ないと思うが?
943: 2019/03/01(金)00:04 ID:i9oiQn3T(1/7) AAS
...取り乱しました。>>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#の本については購入検討中です。高いし。
なので、経験者の皆様には言っている事がまるでおかしいかのかもしれませんが、
解る方おられましたらどうか宜しくお願い致します
944: 2019/03/01(金)00:11 ID:EPVYhOMx(1) AAS
ソースの意味はわかっています( ・`ω・´)キリッ
945: 2019/03/01(金)00:14 ID:i9oiQn3T(2/7) AAS
自分は単純に"オブジェクトA"の"AlphaScript"に「false」を伝えたいのですが、
GameObject.FindObjectOfType< AlphaScript >().SetCanvasGroupEnable( null, false );
ではスクリプト自体がnullになってしまう。でもその代わりを知らない。
そもそもCanvasGroup canvasGroup,自体はいじる必要が無い。
この後の bool enable をfalseにしたいだけなのに、
Ascript.SetCanvasGroupEnable(ここ,false);
ここに何か入れなきゃならないようです。falseだけにしたら
SetCanvasGroupEnableがアカンって怒られるし...この場合、どういった記入を
したら良いのでしょう?
946
(2): 2019/03/01(金)00:16 ID:G4Yjf+DM(1) AAS
canvasGroupはGameObject.FindObjectOfType< CanvasGroup >()で取ってこれないのか
947: 2019/03/01(金)00:40 ID:UQFOqO10(1) AAS
嘘は教えるなよ
948
(1): 2019/03/01(金)00:40 ID:i9oiQn3T(3/7) AAS
>>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に怒られず通るのでしょうか。
949
(1): 2019/03/01(金)00:43 ID:i9oiQn3T(4/7) AAS
>>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に怒られず通るのでしょうか。
950
(3): 2019/03/01(金)00:54 ID:4ad34hTY(1) AAS
画像リンク

951
(1): 2019/03/01(金)01:20 ID:moEN5l8p(1) AAS
>>949
「ここ」には、CanvasG roup型を入れる。
いやー参った。こんな型宣言して使ったことなかったから調べるだけでも精一杯w
まぁ知らなくても3Dのシューティング作れたしw
とりあえず動いたので多分あってるんじゃないかなぁ、間違ってたらすまん。
952: 2019/03/01(金)01:53 ID:i9oiQn3T(5/7) AAS
>>950
最後の行 my_script.SetCanvasGroupEnable(hoge); がVSに認識されませんでした
が、自分のスクリプトに入れただけなのでミスがあるかもしれません。
後日新しいスクリプトファイルで勉強させて頂きます。有難うございました!
>>951
SetCanvasGroupEnable(CanvasGroup, false);
ではVSに怒られてしまいました。しかしそちらで動いているのならば、
こっちがおかしいのだと思います。わざわざ遅い時間まで有難うございました!

>>こんな型宣言して使ったことなかったから調べるだけでも精一杯
この言葉がありがたかったです。それにより「なぜそんな二度手間をする?」
の意味がわかった気もします。

そして>>941
有難うございました
953
(1): 2019/03/01(金)07:07 ID:i9oiQn3T(6/7) AAS
>>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;
}
}
}
----------------
954
(1): 2019/03/01(金)07:09 ID:i9oiQn3T(7/7) AAS
----------------
//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#の教本は買おうと思います
955
(3): 2019/03/01(金)16:57 ID:o5fzsr2k(1) AAS
画像リンク

単純にこう書き直せば出来るんやが、
受け手のメソッドで勝手にやってくれた方が便利な訳だから
こうすると
画像リンク

こうなる
画像リンク

956
(2): 2019/03/01(金)17:27 ID:rYfVntGw(1) AAS
>>954
ちな、最後にnullエラーと書いてるけど、合ってる?
alpha値でエラー出てるとかじゃないよね?
957: 2019/03/01(金)23:29 ID:ad2Mn0me(1) AAS
おまいら受け渡しの型くらいあ合わせろ!てかここはおら弟子が楽しむためのスレなんだからな!
958: 2019/03/02(土)01:10 ID:IiwWR++Q(1/6) AAS
>>955 >>956
どうもわざわざすみません今レス見たもので
調べさせて頂きます。結果等はまた書き込みさせて頂きます
959: 2019/03/02(土)06:49 ID:IiwWR++Q(2/6) AAS
>>956
前回>>953 用意した物
・スプライトから作った"オブジェクトA"
・UI_Image で作成した"Canvas".中には画像確認用にImageから画像を読み込んだオブジェクト
これにCanvasGroupコンポーネントを入れて、alpha値が正常に動くのを確認

オブジェクトA・・・NewBehaviourScript1(アクセスする側)"Hogeにチェック"
Canvas・・・NewBehaviourScript(アクセスされる側)をアタッチ

実行→ NullReferenceException: Object reference not set to an instance of an object

NewBehaviourScript1.Update () (at Assets/NewBehaviourScript1.cs:20)
箇所は
void Update()
{
my_script.SetCanvasGroupEnable(hoge);
}

今回>>955 用意した物
NewBehaviourScript NewBehaviourScript1・・・それぞれ>>955 yVRgjts.png
に書き換えたもの
前回に続き"Canvas"・・・NewBehaviourScript1(アクセスする側)
動画を参考に前回の"オブジェクトA"は削除。"canvas2"を作成してそこにButtonを配置。
これにNewBehaviourScript(アクセスされる側)をアタッチ。ターゲットは"Canvas"

こちらは何度か失敗しましたが、自分のソースミスが原因だと解り修正後動作しました!
>>953はレスが頂けるとは思わず「ちゃんと聞いてるぞ!」という姿勢を見せたつもりだった
のですが、そのせいで余計な手間をかかせてしまって本当申し訳ありません。
動画まで用意して頂いて...しかしその動画が実に参考になりました。有難うございます
960
(1): 2019/03/02(土)07:03 ID:IiwWR++Q(3/6) AAS
>>926 >>929
自分はあなたのレスに悪意を感じたが為>>930のような態度を取ってしまいました
しかし今回の件で「まさかそこまでの初心者が来る訳無いだろう」という
考えもあると気付いたつもりです。まだ完全に理解は出来てませんが、他の方が言う
様に答えを提示されて下さったのだと思います。申し訳ありませんでした
961: 2019/03/02(土)07:24 ID:9Col7dyh(1) AAS
>>960
そもそものきっかけはあなたの「ソースは理解してる」
あなたが理解してるのはソースじゃなくて結果だけ
コピペしてきたソースを理解していたら簡潔なレスでも問題点を理解できていた
962: 2019/03/02(土)07:53 ID:IiwWR++Q(4/6) AAS
ここからは談笑で行きませんか
自分はしょぼい程度ですがFlashのActionScriptを今まで使ってたんですよ
だからUnityのC#を見た時、どういう処理をしているのかはだいたい理解出来た
でもFlashとUnityのアプリの作り方はまるで違う様に感じました
多分C#よりもUnityの仕組みの方が理解できてないのだと思うけど...どうでしょうか

そういった感覚で初心者用教本を1冊読み終え、まずは自作したFlash作品をUnityに
移植しようと思って制作してたのですが...ここで質問してまるで話が通じない!
初心者スレで初心者が質問しているのに皆が皆でよってたかって質問で返して来る
963: 2019/03/02(土)07:55 ID:9NeG1AvL(1/3) AAS
GetComponentはthis.GetComponentだから自分自身からしか探せないんやが
外部にアタッチされたコンポーネントは>955みたいな書き方になる
これはチュートリアルのインターミディエイト/エキスパートで順次出来てきた筈

薮蛇だから何も言わないけど相手の理解力からレベルはほぼ一瞬全てバレるので
あまり無駄な事はしない方がいいよ
964: 2019/03/02(土)08:06 ID:IiwWR++Q(5/6) AAS
またsage忘れてしまった
Unity初心者の自分から見たら皆さん中級者以上ですよ
テンプレには初心者が初心者に答えるスレって書いてあるのに
ここではある程度理解していないと嘲笑のネタになるのだと感じたワケです
教えてくれない、逆に試される。初心者からしたらそういう態度取られるのは
「この人達、教えてくれないのになんでここにいるの?」て思いますよ
勿論教えて厨的な初心者もいますから、千引きは難しい所だと思いますけどね。
1-
あと 38 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.018s