MonoDevelopのよく使うショートカット(mac)
今まではsublime textでしたが、異動を機にMonoDevelopに変えてみました。
ショートカット覚えるまでは戸惑いまくりですね。というわけでよく使うものメモ。macです。
command + D
カーソルがあっている変数や関数の宣言部分に飛ぶ。
command + control + → or ←
前見ていたところにジャンプ。
shift + command + R
カーソルがあっている変数や関数で全体検索。
command + X
切り取り。行削除の代わりに使っている。
command + R
変数名の一括変更。
command + → or ←
文頭、文末へのカーソル移動。
随時更新します。
【Unity】コルーチンの中断処理
今日触ったコードに、コルーチンを使った中断処理が登場したのでメモ。
今のところ、下記をよく見かけます。
var waitTime = 1f;
yield return new WaitForSeconds (waitTime);
シンプルに、指定秒数待つパターン。
while (isLoading) {
yield return null;
}
ある状態の間、待ち続けるパターン。
yield return nullは、処理を止めて、次のフレームから処理を再開するもの。
yield return StartCoroutine (DoHoge());
途中で別のコルーチンを呼ぶパターン。
呼び先の処理が終わるまで、呼び元の処理は中断。
yield break;
コルーチンの処理をそこで抜けるパターン。
yield return new WaitWhile (() => _isLoading);
ある条件を満たすまで処理を待つパターン、その2。逆はWaitUntil。
Unity5.3以降はこちらがスマートかも。
yield return new WaitForEndOfFrame ();
スクリーン上のレンダリングが完了するまで待つパターン。
他にもいくつかパターンがある模様。
下記によくまとまっていたので、参考にさせていただきます。ありがたや。
Unityのコルーチンの使い方をまとめてみた - WonderPlanet DEVELOPER BLOG
【Unity】プレハブやスクリプトが使われている箇所を探す
バグチケットの対応しようとして、どのスクリプトを触ればいいかはなんとなく見当ついたけど、そのスクリプトがどこにアタッチされてるかわからない……そんなときに。
■Find References In Scene
Projectビューで対象のスクリプトを右クリックし、「Find References In Scene」を選択すると、Hierarchyビューに検索結果が表示されます。便利!
▼趣味でゲームをつくっています▼
ころがるひつじを数えましょう。ゆるーく暇つぶしできますよ@・ω・@
▼LINEスタンプも作っています▼
リンクは英語表記になっているけど、日本語入りスタンプです@・ω・@
▼制作物まとめ▼
【Unity】NGUIのAnchorメモ
異動3日目。ぼちぼち作業に挑戦してみています。
手元のPCが低スペックなため、途中何度もUnityが落ちてつらい…早くハイスペックPCもらえないかなあ。
さて、Unity初心者なので、UIの位置調整のような軽めのタスクから振ってもらいました。
私のいるプロジェクトはUGUIでなくNGUIを使っています。
UILabelのテキストが動的なとき、UILabelの幅をAnchorを使って中身に合わせる、ということをしたのでめもめも。
_charaName.rightAnchor.absolute = Mathf.CeilToInt (_charaName.printedSize.x) + _charaName.leftAnchor.absolute;
_charaNameがUILabelですね。
テキストは左寄せなので、右端を調節するため、左のアンカーの位置+テキストの横幅を右のアンカーの値に設定しています。
どれがどれか、頭に入れたい。
■参考にさせていただきました
【C#】参考ページメモ
■IEnumerableとかyieldとか
C#の主要インターフェース解説:IEnumerable - がりらぼ
■static readonlyとかの定数定義
【C#の定数】const と static readonly の使い分け - Qiita
■string.Format
String.Format メソッド (System)
進捗管理のところで使っていた。
string.Format ("{0}/{1}", Mathf.Min ({進捗のvalue1}, {進捗のvalue2}), {MAXのvalue});
みたいな感じで。二つの進捗値を比べて小さい方を使用し、3/10みたいな感じで進捗表示する。
■整数型の一覧表
参考にさせていただいています。随時更新。
【C#】EqualityComparer.Default.Equals
異動二日目です。C#全然わかりませんが、プルリクを見ていると
if (hoge == default(T)) { // できない
//処理
}
ってときに、
EqualityComparer.Default.Equals(hoge, default(T))
としたらどうかというお話がありました。ふむ、わからん。
規定値
default(T)
数値型であれば0、参照型であればnull、booleならfalseなどの値を規定値と呼ぶらしい。
EqualityComparer<T> クラス
EqualityComparer(T) クラス (System.Collections.Generic)
こちらを読みました。
疑問が生まれる都度、調べて読んではみるけど、それだけだとすぐ忘れちゃうので、とりあえずメモる。なんでもメモる。
こういうものがあるんだって頭の片隅にでも残しておければ、いつかの選択肢が増える。はず。いまはそういうフェーズ。
▼趣味でゲームをつくっています▼
ころがるひつじを数えましょう。ゆるーく暇つぶしできますよ@・ω・@
▼LINEスタンプも作っています▼
リンクは英語表記になっているけど、日本語入りスタンプです@・ω・@
▼制作物まとめ▼
【Unity】Time.timeScale
ホームシーンのStart()の中にありました。
Time.timeScale = 1f;
Time.timeScaleは、時間の経過をスケールするもの。
1がリアルタイムと同等で、時間の経過は値に比例するので、値を小さくすればスローモーションの演出ができるとのこと。アクションシーンで使えそうですね。
また、timeScaleが0のとき、FixedUpdate()は呼ばれないらしいです。
ホームシーンなので、時間の早さを普通に戻しているということですね。
■ 参考
▼趣味でゲームをつくっています▼
ころがるひつじを数えましょう。ゆるーく暇つぶしできますよ@・ω・@
▼LINEスタンプも作っています▼
リンクは英語表記になっているけど、日本語入りスタンプです@・ω・@▼制作物まとめ▼