日々是unity#2
前回の続きである。
今回はRubyちゃんにHPを設定し、それを変動する項目だ。
これは目指しているゲームでは絶対使うところなので、何度も読み返して覚えていきたい所だ。
この記事は初心者が練習問題を解く過程を書いたものです。
復習がてら書いているので、その時思ったことなどをそのまま載せています。
最初のステップでは最大HPと現在のHPを定義して、それを変動できるようにスクリプトを書いている。
なんとなく書いてあることがわかるようになってきたが、amountとは?
「unity amount」で検索しても出てこない。
まさか、普通に英語なのか?私は遊戯王英語しか読めんぞ。
Google先生に聞いてみると「額」、「量」と返ってきた。
つまり量をint型にしてるってことであっているのか。
そして次のステップへ。
ついにゲームオブジェクトへインタラクトできるようにするらしい。
コライダーは当たり判定としても使えるが、IsTriggerにチェックを入れると移動検知みたいなこともできるのか。
これにより、回復アイテムを取得できるようになる。
最後にキャラクターコントローラーにプロパティを定義するらしい。
public int health { get { return currentHealth; }}
これは、パブリックになっているhealthはcurrentHealthを返しますよ~、ということだろう。
コントローラー内でcurrentHealthを使っているがパブリックにしたくないけど、他のところにも使いたいという時が来た時に、こういったことをするらしい。
getが読み取り専用なので参照したいときのみ使うとか、そんな感じだろう。
さて、次はこの逆にダメージを与えるオブジェクトを作成するらしいが、ちょっとサイコロの勉強をしたくなったので、今度はそっちに行くことにする。
参考にしたサイトはこちらだ。
困ったことにいろんなサイトが3Dのサイコロを転がしていた。
私は2Dのゲームを作る予定なので、2Dの教材が欲しいのだ。
ただ、当たり前だがこちらのサイトはutniylearnほど甘くはない。
やり方は書かれてるしコードも書いてあるが、コードが何を書いてあるかさっぱりだ。
ここは勉強と割り切って体当たりで挑むとしよう。
[SerializeField] private Sprite[] _diceSprite;
いきなり謎の文字列が飛んできたぞ。
まずもって全く読めないので、そっくりそのままコピペしてGoogle先生に聞いてみたところ、こちらのHPを紹介された。
こちらのページ内の例でとらえるなら、インスペクターでいじりたいし他のクラスでも参照したいけど、他のクラスではいじれないようにしたいというところか。
先ほどのgetとの違いはインスペクターで操作できるかどうかだろう。
public void RollingDice()
{ StartCoroutine(LoadDice()); }
private IEnumerator LoadDice()
本当に読めない文字が来た。ころうていね?
調べてみたところコルーチンと呼ぶようだ。
呼べたところで意味は分からないが。
で、このコルーチンでは一「定時間待つ→処理→待つ→処理」のような処理を一つの関数でまとめて書けるものらしい。
こいつは便利だ。
一つ一つ書くとどうしても時間かかるし、ミスが多くなってしまう。
サイコロもそうだが、いろんなところで応用が利きそうな魔法だな。
↓こちらを参考にさせてもらった。
で、出来上がってボタンを押しコロコロする。
たったこれだけなのに楽しいではないか。
これにあとは出た数字を出力する仕組みを入れれば、土台は完成しそうだ。
この記事が気に入ったらサポートをしてみませんか?