[過去ログ] 【3Dゲームエンジン】Unity質問スレッド31 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
414
(1): 2017/09/20(水)23:43 ID:IUSnNb2O(3/3) AAS
>>410
さすがにちょっとC#の基礎を覚えた方がいいかもしれない…と前置きしといてざっくり解説

?は色々間違ってる。ちょっと正しく書くと…

1. Texture2Dという型の変数textureを宣言し(左辺)
2. リソースフォルダ以下から指定したリソースをTexture2D型として読み込み(右辺)
3. 宣言した変数に入れる(代入演算子=)
という事をしている

この際注意しなければならないのは、Resources.Loadはプロジェクト内に作成したResourcesという名前のフォルダの中からしか読み込めず
引数に指定するのもResourcesフォルダからの相対パスとなるということと、拡張子はつけないことだ
プロジェクト(正確にはプロジェクトディレクトリのAssetsフォルダ)から見て
Resources/Hoge/Fuga.pngというパスのファイルがあった場合、
Resources.Load<Texture2D>("Hoge/Fuga");とすると読み込める

書き込みを見る限り、この辺理解せずにAssetsフォルダからの相対パスで指定してるとエスパーできる

?は?同様変数宣言の認識がやや怪しいが、概ね正しい。
ただしGameObject.Find()も、GetComponent<T>()も、探した結果見つからなかったらnullを返す事に注意しないと今回同様のエラーを頻発して苦労するだろう

?はかなり間違ってる
1. ?のimgに格納されてるコンポーネントのspriteに以下の処理を代入する(左辺+代入演算子)
2. ?のtextureに読み込んでるTexture2Dから、指定した矩形(Rect)の範囲を切り出し、回転軸を左下隅(Vector2.zero)に指定してSpriteを生成する
って感じだ

スプライトとテクスチャはどちらも画像を元にしたオブジェクトだが、用途が違うため違う型として扱われる
Imageのsprite変数はSprite型として宣言されているためわざわざtextureからSprite型のオブジェクトを生成して代入しているという点に注意
416
(1): 2017/09/21(木)01:04 ID:wxJXWbMz(1/4) AAS
>>413
いきなり確信っぽいこと言われて驚きました
確かにResoucesフォルダには入れてなくて、
2Dシューティングチュートリアルの真似まま、Materialフォルダを作ってそこにBackgroundフォルダを作り、そこに画像を入れてました
まだ確認してませんが、もしかするとそれかもしれません
Resources.Loadはプロジェクトタブ?にあるファイル全体に検索をかけるものだと思ってました。

>>414
その通りです。知識まったくなく、これから入れていこうという段階です。
Texture2Dという型があるのですね…。変数の型というのはintやstringとかのイメージで、Texture2Dというような型があるとは想像もできなくてこれが変数であるという確信が持てませんでした。
Resource.Loadに関しては>>413さんにも指摘していただいて、それも今知りました。ありがとうございます
エスパーその通りです。
?難しいですね。なんというか直感的にわからないです
単語の意味を覚えないとダメですね。
ちょっとレスを何回か読んでちゃんと理解して頭に入れます
今何も言えないです。すみません理解が遅くてちゃんとレスできなくて。

>>415
そうですね。これから徐々にそういった知識を入れていこうと思っています。

レス遅くなって申し訳ないです。
皆様ありがとうございました。とりあえず今日は寝て、また明日レス見ながら色々試してみます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.032s