素人ゲーム開発を垂れ流しつつ、覚醒に至るまでの記録や役立ち情報、愚痴を書くブログ。ちなみに前立腺の開発もやっている。
懐かしい・・・私が鬱病と戦っていた学生時代に聞いていた
お気に入りのバンド「Hi-Standard」がいつの間にか活動開催
していたんですよね~。今はこういった弾けた曲は余り聞かなく
なってしまいましたが、死ぬ前に一度はライブに言ってみたい
ですね。
さてさて、いきなり脱線事故ですがゲーム制作へ
話を戻しましょう。
とりあえずですが、マウスカーソル前方に法線を
出してオブジェクトにぶつかったら「[E]PickUp Item」
と表示するようにしました。とりあえずの表示なので
テキトーにテキストで。
ちなみにこの状態でEキーを押すとオブジェクトを破棄
し、インベントリにアイテムが追加される様になっている。
私の環境ではUnityとVisualStudioの併用時には何故か
ブレークポイントが機能しないのでココらへんは苦労
しました。
途中から使えるやり方があると知り、
それ以降は大分作業効率が上がりましたけども(笑)
ここだけで1ヶ月程掛かった気がします・・・
頭がでかい(物理的に)割に脳みそが小さいんです^^;
さて、まだ未実装なのはアイテムが重なった時に個数を
表示させる事とインベントリが埋まった状態でもアイテム
が取れてしまう所でしょうか。
この次はインベントリ内でのアイテムの移動や破棄、
簡単に言うとドラッグ&ドロップ処理ですね。更にそれらを
装備スロットに入れられる処理も追加する必要が・・・
まぁ、少しづつですが確実に一歩ずつ前へ!
PR
インベントリの処理を構築中です。
ひどいコードですが、とりあえず実装しましょう。
アイテムを拾う→モデルの破棄
これは完了してます。あとはインベントリに入れるのみ!
ひどいコードですが、とりあえず実装しましょう。
アイテムを拾う→モデルの破棄
これは完了してます。あとはインベントリに入れるのみ!
今のままでもコードを書くことは可能なのですが
「柔軟性にかける」ということでもう少し勉強して
見たいと思います。
オブジェクト指向な書き方もそうなのですが、
どうやらUnityは特別なようで、Unity指向とも
言うべきか「必要なときに参照する」というのが
主流らしいです。なのでUnityで実際に人のプログラム
を使ってどんな流れで構成されるのか、今本を買って
勉強中でございます。
大変申し訳ないですが、少しばかしこのFPSの開発
は一時的に止まってしまうでしょう。
「柔軟性にかける」ということでもう少し勉強して
見たいと思います。
オブジェクト指向な書き方もそうなのですが、
どうやらUnityは特別なようで、Unity指向とも
言うべきか「必要なときに参照する」というのが
主流らしいです。なのでUnityで実際に人のプログラム
を使ってどんな流れで構成されるのか、今本を買って
勉強中でございます。
大変申し訳ないですが、少しばかしこのFPSの開発
は一時的に止まってしまうでしょう。
申し訳ながらこの方法では成功しない可能性が出てきました。
と言うのも実際に組み込んでみたところ、nullが入っているのです。
どうやら上手く入っていない様子です。
もう少し考えてみる事に致します。
と言うのも実際に組み込んでみたところ、nullが入っているのです。
どうやら上手く入っていない様子です。
もう少し考えてみる事に致します。
継承したクラス、
派生クラスの変数にどうしても基底クラスを
代入したいそんな時皆さんはどうしていますか?
ちなみに皆様ご存知違う型への変換を「キャスト」
と呼びますよね。実はその中に細分化されてまして
アップキャストとダウンキャストというものがあります。
アップキャストとは、
派生クラスを基底クラスに入れる事です。
例えば、
//基底クラス
class Base { }
//派生クラス
class Derived : Base { }
//基底クラス型の「b」
Base b;
//派生クラス型の「d」
Derived d;
//インスタンス生成
b = new Base();
//派生クラス「b」を基底クラス「d」に代入可能。
d = b ;
これがアップキャストだそうです。
派生を基底に代入する事は何の問題もなく代入可能
のようなのです。キャストすらする必要も無いという。
しかしこの逆の基底を派生に代入する、というのが少し
ばかり注意みたいで、これを「ダウンキャスト」と言う
ようです。
ではまったく同じ事をして見ましょう。
//基底クラス
class Base { }
//派生クラス
class Derived : Base { }
//基底クラス型の「b」
Base b;
//派生クラス型の「d」
Derived d;
//インスタンスの生成
d= new Derived();
//キャストしてもエラーになる
b = (Base)d;
これはエラーになってしまうんですね。
一見派生のほうが基底のクラスよりメンバが
同じかそれ以上あるので、基底にあるメンバ
のみに代入してくれそうな気はしますが残念
ながら基底クラス側「b」が「d?そんな奴
しらないよ!」と拒絶するのです。
キャストとはどうやら型を変換するだけであり、
ではどうすればダウンキャストできるのでしょうか?
キャストでだめなら一体どうすれば・・・意外にダウン
キャストの情報はそれほど多くないのです。
大体が良く分からない(理解できる脳を持ち合わせていない)
中、これは!というものを見つけました。
重要なタイミングはどうやらインスタンス化にあるようです!!
最初のBase型に同じ型でnewするのではなく、
//ここが重要!
b = new Derived ();
d = (Derived )b;
派生型を入れてやる事がミソなんだそうです。
Base型なのに派生型のDerivedをnewするなんて
c++から来た私には異様に見えますw
まぁ、なぜ問題なくできるのかと言うのは正直
説明できません。理解するには今一度、宣言とは、
C#のnewとは、キャストとはどんなものかを
掘り下げて勉強する必要が出てきそうですね・・・
派生クラスの変数にどうしても基底クラスを
代入したいそんな時皆さんはどうしていますか?
ちなみに皆様ご存知違う型への変換を「キャスト」
と呼びますよね。実はその中に細分化されてまして
アップキャストとダウンキャストというものがあります。
アップキャストとは、
派生クラスを基底クラスに入れる事です。
例えば、
//基底クラス
class Base { }
//派生クラス
class Derived : Base { }
//基底クラス型の「b」
Base b;
//派生クラス型の「d」
Derived d;
//インスタンス生成
b = new Base();
//派生クラス「b」を基底クラス「d」に代入可能。
d = b ;
これがアップキャストだそうです。
派生を基底に代入する事は何の問題もなく代入可能
のようなのです。キャストすらする必要も無いという。
しかしこの逆の基底を派生に代入する、というのが少し
ばかり注意みたいで、これを「ダウンキャスト」と言う
ようです。
ではまったく同じ事をして見ましょう。
//基底クラス
class Base { }
//派生クラス
class Derived : Base { }
//基底クラス型の「b」
Base b;
//派生クラス型の「d」
Derived d;
//インスタンスの生成
d= new Derived();
//キャストしてもエラーになる
b = (Base)d;
これはエラーになってしまうんですね。
一見派生のほうが基底のクラスよりメンバが
同じかそれ以上あるので、基底にあるメンバ
のみに代入してくれそうな気はしますが残念
ながら基底クラス側「b」が「d?そんな奴
しらないよ!」と拒絶するのです。
キャストとはどうやら型を変換するだけであり、
中身自体の値が消えるわけではない
と言う点に注意。ではどうすればダウンキャストできるのでしょうか?
キャストでだめなら一体どうすれば・・・意外にダウン
キャストの情報はそれほど多くないのです。
大体が良く分からない(理解できる脳を持ち合わせていない)
中、これは!というものを見つけました。
重要なタイミングはどうやらインスタンス化にあるようです!!
最初のBase型に同じ型でnewするのではなく、
//ここが重要!
b = new Derived ();
d = (Derived )b;
派生型を入れてやる事がミソなんだそうです。
Base型なのに派生型のDerivedをnewするなんて
c++から来た私には異様に見えますw
まぁ、なぜ問題なくできるのかと言うのは正直
説明できません。理解するには今一度、宣言とは、
C#のnewとは、キャストとはどんなものかを
掘り下げて勉強する必要が出てきそうですね・・・
ブログ内検索
カテゴリー
最新記事
(11/05)
(11/02)
(11/02)
(10/29)
(10/28)
最新コメント
プロフィール
HN:
kawaハギ
年齢:
36
性別:
男性
誕生日:
1989/07/03
職業:
無職
趣味:
ゲーム 音楽
自己紹介:
人類を5次元意識へ押しあげる為のゲームを
開発しています。
小学生3年頃から鬱を発症。対人恐怖症、醜形恐怖等で引きこもり。
生きる意味を長らく探し求め、ようやく答えを見つけスピリチュアル
にたどり着く。覚醒を数段階体験し現在は”もう一度”物理的な自立を目指しています。
開発しています。
小学生3年頃から鬱を発症。対人恐怖症、醜形恐怖等で引きこもり。
生きる意味を長らく探し求め、ようやく答えを見つけスピリチュアル
にたどり着く。覚醒を数段階体験し現在は”もう一度”物理的な自立を目指しています。
カウンター