u1w202012完成
完成したので解説というか経緯というかを書きますよ。
■「あける」で困った
実は、神経衰弱を作ろうとしてたのです。
絵の描かれたカードと
漢字やら英語やらの文字カードを
1枚ずつ選ばせて、
絵の識別と文字の識別で混乱させようと。
がしかし
「あける」
神経衰弱にあける要素がなかった。
なので、時限爆弾解除ボタンを絵にして
その解除をさまざまな文字表現で指示。
という形に変更しました。
■今回は先に絵と音を揃えた
システム面がシンプルなので
絵と音(素材)を先に全部集めて
レイアウトを完成させました。
ないのは自分で描いちゃいました。
絵画クオリティとか求めてると
1週間で終わらないので
絵はてきとーです。
■動きをビュンビュン
過去の経験値で
動きについては何度もやってるので
ビュンビュンと動かしました。
[SerializeField]
private GameObject uni = default;
private IEnumerator uni_s()
{
uni.transform.position = new Vector2(950f, 0f);
for (var posX = 950f; uni.transform.position.x > -50f; posX -= Time.deltaTime * 3000f)
{
uni.transform.position = new Vector2(posX, 0f);
yield return null;
}
uni.transform.position = new Vector2(-50f, 0f);
}
呼ぶのは
StartCoroutine(uni_s());
わりとシンプル。
ざっくり言うと
横950fの位置からユニティちゃんが横-50fの位置まで
ビュンとやってくるよっていうスクリプト。
こんな感じで他のもビュンビュン動くのは
これの応用でやってます。
■イメージ通りだったのでそんなにつまずかなかった
やることもボタン押すとかだけなので
そんなにトラブルなく終わりました。
「ランダム」でいくらか足止めくらったけど
なんとかなりました。
なんとなくでやってるのであってるのかわからないけど
9個バラバラの数字を配置したいので
1〜9の数字の中からランダムに選び
その選ばれた数字が次のランダム時に出ないようにする。
private void random9() {
List<int> _random9 = Enumerable.Range(1, 9).ToList();
for (int i = 0; i < 9; i++)
{
int ran = Random.Range(0, _random9.Count);
int value = _random9[ran];
random9list.Add(value);
_random9.RemoveAt(ran);
//ここにこのランダムの数字を使う命令文
}
random9list.Clear();
}
_random9の9個のリスト全てに
ランダムな1〜9(ran)を入れて
_random9のran番を削除(RemoveAt)することで
すでに選んだ数字を選ばないようにしている。
はず。
わかってはいない。
勘でやってます。
とりあえずこれによって
ボタン配置が「訓練開始」の度に
バラバラな場所に移動しています。
場所で覚えていても意味ないよ。っていう機能。
あとはどれもスムーズだったので
わりとうまくいきました。
■小ネタ
一応いきなり解答一覧が見れないよう
一度プレイしないと解答一覧は出てこないようにしてます。
初見はあたふたしてもらわないとね!
■まとめ
1週間という短い時間で
自分なりの配分で完成まで辿り着かせる。
いつもいい具合にヒヤヒヤ&成長を
させていただいています。
今回年末休みだったから平日も使えたので完走できました。
ということで、これを見た方々
こんな裏話も加味して
是非是非楽しく遊んでくださいまし!
この記事が気に入ったらサポートをしてみませんか?