にしかわのメモブログ

やったことをすぐに忘れちゃうおじさんなので、メモ的に記録していくわ

Unityやったことメモ その10

あかん

連休終わりに風邪ひいて以降、長いこと体調の悪さを引きずってしまいUnityを触る余裕がなかった。
(GTA5は進んでいるのに!)
このままではUnity欲が途切れてしまうので、最悪10分でもいいからやろう。
やっているフリでもいいからやろう。

本日のUnity進捗

今日もまたソファで寝てしまっていた。もう遅い時間だったので本当に少し触っただけ。
引き続き
 2.19 ボスを作る
の途中まで。人参が飛ぶ所だけやったが、色々と忘れかけてる。
やっぱりコルーチンの理解をしっかりやっておかないとダメだ。
明日以降はその辺やろう。

あと、そう言えばスプライトの向きを回転させたときに、どうしてこんなセットで画像が回るのだろうかと思い、改めてtoken.csを見てみたらこんなコードになっていた。

  // 画像も回転させる
  Angle = dir;
  /// 回転角度.
  public float Angle {
    set { transform.eulerAngles = new Vector3 (0, 0, value); }
    get { return transform.eulerAngles.z; }
  }

どういうことかというと
ufcpp.net
こういうことのようだ。なるほどPythonのプロパティと同じか(細かい所は分からないが似てる)。
しかしプロパティの使い方としてこれはアリなのか?

Unityやったことメモ その9

本日のUnity進捗

ソファで寝てしまっていた。今日も時間なかったんで30分程度駆け足で。
引き続き
 2.19 ボスを作る
の途中まで。大根が飛ぶ所までやった。
あとは色々とパラメータを弄ったりして試していた。
コードを改変して理解することは基本だ!(遊んでいただけ)

このペース

遅すぎるなぁ。もっとじっくりコードも読みたいが時間が取れない。

Unityやったことメモ その8

ざんぎょう

明日はしないで済むかなぁ…。

本日のUnity進捗

サボってないけど時間なかったんで30分程度駆け足で。
 2.19 ボスを作る
の途中まで。ボスが雑魚を生成するところ辺り。
ソースコードを言われるがままに貼り付けていった状態なので、ちょっと理解不足。
時間が足りねぇ。明日はもう少し多くできるといいな。

Unityやったことメモ その7

くそう

残業が多いとどうしても作業時間が減ってしまう。

帰宅する
 ↓
風呂入る
 ↓
ちょっとだけネット見る(つもりが長くなる)←これが良くない
 ↓
Unityする
 ↓
時間切れで寝る


うーん。これはダメだ。順番を直さなければ。
「ちょっとのつもり」でちょっとだったことが無い。

本日のUnity進捗

 2.17 敵がいろいろな弾を撃てるようにする
 2.18 敵をプレハブ化する
まで。
全然進まねー。無駄に使った時間返して。

本日の恥ずかしい数学知識

なんとなく昼間に「オレの三角関数分かってない」と思ったが、やっぱり分かっていない。元々ちゃんと分かっていない上に分かっていたことも忘れている。
お恥ずかしいがこれはもう一度整理して学習し直しだ。寝る前に本棚調べてカバンに本を入れておこう。

Unityやったことメモ その6

Unity2D本の進捗

今日は
 2.16 敵を倒せるようにする
まで進んだ。今日は本の内容以上に分からないことを調べてる時間が多かったので、以下にまとめた。

ジェネリック覚えた

例の本で一番良くわからないまま使っている部分、そもそも構文が理解できていなかった。

クラスはこんなやつで

/// Token管理クラス
public class TokenMgr<Type> where Type : Token {

呼び出している方はこんな奴

	/// 親オブジェクト
	public static TokenMgr<Shot> parent = null;


で、調べたらこれはジェネリックだった。

ポイント

ジェネリック: 型だけ違って処理の内容が同じようなものを作るときに使う。
ジェネリッククラス:IComparable { int CompareTo(T x, T y); }
ジェネリックメソッド:T max(T x, T y) { ... }

引用元:ジェネリック - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

なるほど、TokenMgrがオブジェクトプールを実装するにあたって、色々な型のオブジェクトをリストで管理するからジェネリックを使っているということだな。読んだだけで書いていないのだがだいたい理解した。

as 覚えた

Resources.Load ("Prefabs/" + prefabName) as GameObject

このas GameObjectってなんだろうと思ったら、ようはキャスト的なことだった。

as 演算子はキャスト操作とよく似ています。 ただし、変換可能でない場合、as は、例外は発生せず、null を返します。

引用元:as (C# リファレンス)

ということらしい。ググる

(GameObject) Resources.Load ("Prefabs/" + prefabName)

と書いてあるコードもあった。

その他覚えた

mono developで、なんとなく ctrl+I でインデントが揃う気がしていたのだが、実際に調べてみたらそうだった。
コピペしたコードなどは ctrl+A したあとに ctrl+I しとく習慣をつけよう。

あと、はてなブログシンタックスハイライトは

>|cs|
code ...
||<

よく使うので覚えておこう。

コルーチンまだ理解していない

コルーチン、なんとなくは動きは理解しているが、実際に掛けと言われるとまだ自力で書けない。
こういうのは実際にちょっと書いてみないと身につかない。やはりC#の文法などで色々と試してみたいことが出てきたので、Unity抜きでC#が書ける環境が欲しいな。
qiita.com
と思ってこれ見て環境だけは揃えようと思ったが、去年新調したMacbookbrewが入っとらんかった。
うーん。時間掛かるんで今日はパス。

さて

ゲームして寝よう。