[過去ログ]
【3Dゲームエンジン】Unity質問スレッド31 [無断転載禁止]©2ch.net (1002レス)
【3Dゲームエンジン】Unity質問スレッド31 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1504366121/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
410: 名前は開発中のものです。 [sage] 2017/09/20(水) 22:43:09.81 ID:x6n8KR83 ダメだ全然わかんねえええあえ 基本の基本から聞いていいすか? @ >>309の一行目 Texture2D texture = Resources.Load("image path") as Texture2D; これは textureに指定したパスのリソース(projectタブのフォルダに入れてあるなんやかや)を読み込んで入れる。スプライトとして。 でいいんですよね? そもそもこの冒頭のTexture2D textureはなんですの?下でも出てくるけど Texture2Dをtextureと呼ぶ みたいに読んでたけど(変数の宣言みたいな)違う? A Image img = GameObject.Find("Canvas/Panel/***").GetComponent<Image>(); これも上と同様にImageをimgと呼ぶから入って、 Canvas/Panel/にある***というゲームオブジェクト? (弄ろうとしてるのはpanel だから実際***パスは入れてないけど) を探し、 そのオブジェクトのコンポーネントであるImage←(デフォのスクリプトコンポーネントでしょ?)をimgに格納?する? B img.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero); Aのimgに格納されてるコンポーネントのspriteに以下の処理を代入する? @のtextureに読み込んでる画像を入れる。座標は0 とりあえずunity触りはじめて3日程度だからボタン押したら背景が切り替わる って感じでサンプルコード探して試してたんだけど最初からこんなに躓くと思わなんだ http://mevius.5ch.net/test/read.cgi/gamedev/1504366121/410
413: 名前は開発中のものです。 [sage] 2017/09/20(水) 23:37:10.11 ID:OogVTLLt >>410 言ってることは大体そう 多分image pathファイルをResourcesフォルダに入れていないか名前が間違ってるんじゃないの? Resources.Loadはファイルが見つからんときnullを返すからtextureが空っぽのまま下まで行って 3行目でtextureやその幅を引っ張り出すときにNullReferenceExceptionが出てる http://mevius.5ch.net/test/read.cgi/gamedev/1504366121/413
414: 名前は開発中のものです。 [sage] 2017/09/20(水) 23:43:37.40 ID:IUSnNb2O >>410 さすがにちょっとC#の基礎を覚えた方がいいかもしれない…と前置きしといてざっくり解説 @は色々間違ってる。ちょっと正しく書くと… 1. Texture2Dという型の変数textureを宣言し(左辺) 2. リソースフォルダ以下から指定したリソースをTexture2D型として読み込み(右辺) 3. 宣言した変数に入れる(代入演算子=) という事をしている この際注意しなければならないのは、Resources.Loadはプロジェクト内に作成したResourcesという名前のフォルダの中からしか読み込めず 引数に指定するのもResourcesフォルダからの相対パスとなるということと、拡張子はつけないことだ プロジェクト(正確にはプロジェクトディレクトリのAssetsフォルダ)から見て Resources/Hoge/Fuga.pngというパスのファイルがあった場合、 Resources.Load<Texture2D>("Hoge/Fuga");とすると読み込める 書き込みを見る限り、この辺理解せずにAssetsフォルダからの相対パスで指定してるとエスパーできる Aは@同様変数宣言の認識がやや怪しいが、概ね正しい。 ただしGameObject.Find()も、GetComponent<T>()も、探した結果見つからなかったらnullを返す事に注意しないと今回同様のエラーを頻発して苦労するだろう Bはかなり間違ってる 1. Aのimgに格納されてるコンポーネントのspriteに以下の処理を代入する(左辺+代入演算子) 2. @のtextureに読み込んでるTexture2Dから、指定した矩形(Rect)の範囲を切り出し、回転軸を左下隅(Vector2.zero)に指定してSpriteを生成する って感じだ スプライトとテクスチャはどちらも画像を元にしたオブジェクトだが、用途が違うため違う型として扱われる Imageのsprite変数はSprite型として宣言されているためわざわざtextureからSprite型のオブジェクトを生成して代入しているという点に注意 http://mevius.5ch.net/test/read.cgi/gamedev/1504366121/414
415: 名前は開発中のものです。 [sage] 2017/09/21(木) 00:05:29.47 ID:L7Ez3IFe >>410 クラスや型、と、インスタンスや変数名の識別がまず出来てない コピペだけで動かそうとせずにちゃんとプログラミング言語の概念を最低限学ばないと C#は良い言語だから腰を据えて入門書を読むなりしたほうがいいですわよ http://mevius.5ch.net/test/read.cgi/gamedev/1504366121/415
435: 名前は開発中のものです。 [sage] 2017/09/21(木) 20:52:24.32 ID:wxJXWbMz >>410です。 昨晩質問した件はResoucesフォルダを作ってそこから使うことで解決できました。 エスパーの皆さんありがとうございました。 >>431 とりあえずスクリプトをコピペしてみたらエラー出てダメでした。 public使う理由とかもよくわからんかったです。 http://mevius.5ch.net/test/read.cgi/gamedev/1504366121/435
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.048s