"自作ゲーム"カテゴリーの記事一覧
-
ちょいとC#を勉強してみました。
うむ、やはりC++とはまったく違うといってよいでしょう。
恐ろしいことに、C/C++ではメモリを手動で管理するのですが
C#では自動みたいなんです!
これはびっくりですね!
この仕組みをガベージコレクションと言うらしいです。
まぁそんなこんなで進行度は以前のインベントリの内部実装中で
とまっております。
グローバル変数でインベントリ管理をしようと思ったのですが
ご覧の通りC#では基本グローバルはしないほうが良いという構造
らしく、C#の構成をいままで勉強していました。
今日は目が痛いので、明日構成を改めて組んでみます。PR -
現在に至るまで正直重要なところはグローバル変数などで
作ってきたC++でしたが、C#にはそもそもオブジェクト指向を
前提に作られている訳でどうにもクラスなどを関数の引数などで
たらい回しにする必要が出てきました。
もともと開発の効率化に特化したオブジェクト指向を使わないのは
むしろなぜた?とお思いでしょうが、実のところ、オブジェクト指向
の考えはわかっていても、具体的な使用例がわかっていなかったから
なのです。
-
すこし記事が開きましたね。
大変失礼いたしました。実はUnityにて画像の切り替えを
スクリプト上で行なう方法を探していました。
SpriteRenderとRawImageはまったく別物のようで、
RawImageにはgetcomponent<rawImage>を使うみたいです。
そしてUnity側にResourcesというフォルダをつくり、
その階層に画像を入れて、スプライトとして設定しておけば
命令によりその画像を参照できるようです。
例
Resources.Load<Texture2D>("sprite/Image");
画像のパスですが、これはUnity側での画像の名前です。
元の画像名である必要は内容で尚拡張子もいらないようです。
この場合Resourcesファイルの子にspriteフォルダを作成し、
そこに画像を入れています。Load<>の「<>」の中身は
参照したい物の型を入れるようです。
これをGetcomponent<RawImage>().texture に入れます。
例
Getcomponent<RawImage>().texture = Resources.Load<Texture2D>("sprite/Image");
このような感じですね。
いろいろサイトで飛び回ったんですがよくわかりませんでしたので、
もし同じ方がいらっしゃればと記載しておきます。