わたしのUnity&C#学習:ここまでのまとめ


Ayanoです。昨日の終わりは(わりと毎日そうだけど)、本当に倒れるようにしてベッドに入ったなぁ。旦那ちゃんにお風呂を沸かしてもらって、まさに今沸いたのに結局「ちょっと今しんどすぎるから明日朝に入るわー」と言って寝てしまった。せっかく沸かしてくれたのにね……。当然、日記を書く余裕もなく。やっぱり、疲れ具合は、持病(RA)がけっこう影響するね……いま症状としてはちょっと不安定だし(手~腕が特に)。薬はちゃんと飲んでるし、単に、季節のものだと思うから、あんまり心配はしてないけどね。

二冊目の3章までを私なりにまとめた

Unity4 の C#本(二冊目)、3章まで終えました。ここまでで、書式などはひととおり基本は学べたのかなー。

絶対に忘れたらダメと書かれていたこと+私がポイントだと思うことは……真偽値true/falseのことはわりと普通に理解できるからいいとして、「値」と「変数」の基本として、型(タイプ)があって、型が違うならキャストしないとやりとりできないこと、かな。キャストは、明示的キャストというやり方がわかりやすいかもしれない。

あと、使い慣れれば、「代入演算記号」(A += B は A = A + B と同じってこと)はすぐに頭に入るようになったし、「インクリメント演算子」x++ と ++x の違いも一応把握したし……

それから「制御構文」が肝なのかなー。if文、while, for文、switch文、foreach文ですね。構文自体は簡単。「比較演算」(A>=B は AはBより大きいか等しい)も使い慣れれば大丈夫そう。「配列」の書き方、使い方はさらっとでいいらしい。「構造体」は今はばっちりわかんなくても大丈夫そう。

あとは「オブジェクト」のことか。例えると、設計図「クラス」から作成される実操作可能な家(オブジェクト)が「インスタンス」。んで、この「クラス」を作るためには、必要な「値」を格納しておく「フィールド」と、そのクラスで実行させる処理を定義した「メソッド」が必要で。ちなみに、メソッドは、かえりち(返値)、メソッド名、ひきすう(引数)、のあとに{実行する処理}を書く。この引数がちょっと馴染みなかったんで、改めて覚えようと思う。

それと、オブジェクトの位置の移動のことか。TransformとVector3のこと。キー入力のチェックGetKeyのこと。物理制御エンジンを使うんであれば、AddForceでオブジェクトを動かすってことなどかな。

といったところ? ざっくりと。

まだわからないところ

ここまでのところで、私の理解がびみょーなのは……、論理演算のとこと、あと三角関数。これらをどう使うかという発想のところが私の中に全く存在しなかったものだから、ちょっとどうしていいかわからないww 書き出すと覚えられるかもだから、書いてみると……

【論理演算】
論理積(A & B もしくは A && B)=両方の式が true なら、true を返す
論理和(A | B もしくは A || B)=どちらかの式が true なら、true を返す
排他的論理和(A ^ B)=2つの値が違っていればtrue、同じならfalseになる
否定!A)=ひとつの値を逆にする(Aがtrueならfalse、falseならtrueを返す)

覚えてないなら、まるっと覚えるしかないわなー。

【三角関数】は、3章の最後でやった、ボールの位置を中心として回転するカメラの位置を計算するのに使われていた。これは高校でやったはずだけど全くそんなふうに考えなくても生きてこれたので、私の中に概念として、無い。もしかしたら、物理を取ってた人なら高校の時点でよく理解が深まったかもしれないね。(私は選択は、生物と化学でしたのでorz)

公式でもまとめよかと思ったけど、本の中の説明がもう思考停止になるレベル。式を覚えられない以前に「概念として理解できない」ことが問題なので、そこをなんとかしないと……まぁ、じっくり、調べたり慣れるようにしてみます。

そんなわけで、まだまだ最低限覚えないといけないことばかりで、応用だとか、あるいは実際にゲーム作るだとかまではいってないのですけど、日々、ぼちぼち成長していけたらいいな!

The following two tabs change content below.
Ayano (メディックP)
作詞/作曲、イラスト描き、動画制作、ゲーム制作などしています。ボカロ曲はAyano(メディックP)という名前で発表しており、大阪・東京で活動するアイドルさんを中心に楽曲提供するときは、月野ネリコという名前で2017年より活動しています。

コメント

  1. Miayvi より:

    インクリメント覚えたなら、ぜひともデクリメントもセットで覚えてくださいませませw
    デクリメントはマイナスの演算子ですが、わりと使えますので。
    (例えば10回ループするとしてインクリメントでもいいけど、デクリメントの方がセットする値が見た目でわかりやすく変更する時、間違いにくいという利点や。他から呼ばれた時、ループ回数を引数渡しに出来るなどの利点があると思います)

    あとね、私は論理演算は16進数でいきなりやるとすげー難しく感じちゃいます。
    2進数に置き換えて考えてみるとわかりやすいと私は思いますです。
    (これは私がアセンブリ言語からC言語に移行したのでそう感じてるだけかもしれません。)

    論理演算はor and exor 辺りを覚えておけば割といけます。

    例えば2進数で言うと0110と0100をorするとandするとexorすると、とか考えるとわかりやすいかもしれないです。

    この3つあったらファームウェア組めてたので多分これくらい覚えとけばいいと私は思うけど、今どうなんだろなぁ^^;

    3つの組み合わせだけで色んな場面で使えますので、マスターしておくとほんとうに便利です。
    私はC言語などの高級言語ではあんまり使いませんでしたが、アセンブリ言語ではかなり頻繁に使ってました。
    C言語はむしろポインタとか関数の引数だとかのほうが大事だと思います。

    あと、ローテートもアセンブリでは必須ですね~。
    でも、そのへんはコンパイラがやってくれるのであんまやんなくていいですがw

    C#やろうかなってちょっと思って忘れてるわぁ!ってなって、作るものもないし結局家にある本をチラ見した程度なので、偉そうなこと全然言えないのですが^^;

    がんばってくださいね!

    • Miyaviさん、ありがとう。
      ディクリメントはすぐにでも覚えられそうだけど、他はまだわからないなぁ。そういえば2進数と16進数も私は苦手だったww まぁ、Unity上ではいまのところ使ってないから、いいかな。私はまずはUnityエンジンだけが使えたらいいから、今は本に書いてることをまず吸収できるようにがんばり中。でも、私にはわからない次元の話も、まだまだいーっぱいあるということですねー。余裕できたら手が回ればいいな。