【完走目指す】初心者が25日で強くなる Advent Calendar 2022
25日目です
前回の続き
メダル落としを途中まで作りました。
今日は、メダルを落とす部分と、結果が出る部分を作りました。
メダルを落とす
今まではボタンを押すと何かしら処理が行われるようにしていましたが、今回はキーボードのボタンを何か押すと動くように作ります。
最終的にAボタンを押すとメダルが出るようにしました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Medalsyoki : MonoBehaviour
{
public GameObject Medalstop;
public GameObject Medal;
// Start is called before the first frame update
void Start()
{
Medalstop.SetActive(true);
}
// Update is called once per frame
void Update()
{
this.transform.Translate(0, -0.1f, 0);
if (Input.GetKey(KeyCode .A))
{
Medalstop.SetActive(false);
}
if (this.transform.position.z < -12.5)
{
this.transform.position = new Vector3(0.25f, 20.79f, 12.79f);
Medal.transform.position = new Vector3(0.15f, 22.71f, 12.8f);
}
}
}
メダルを運ぶ囲いを作って、それを動かしています。
囲いがある一定の位置まで進んだら、右端に戻るようにしています。
ボタンが押されたら、囲いは消えます。
囲いのスピードを速くしすぎると、すり抜けます。
自分も作っている最中はしょっちゅうすり抜けていたので注意が必要です。
当たり判定
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Atari : MonoBehaviour
{ public GameObject WinLose;
// Start is called before the first frame update
void Start()
{
WinLose.SetActive(false);
}
// Update is called once per frame
public void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Medal")
{
WinLose.SetActive(true);
}
}
}
たったこれだけです。
メダルが当たったら、画像を表示します。
画像は、こちらになります。
当たり
はずれ
これを表示させています。
その他いろいろ調整しました。
障害物は、たまにメダルが乗って動かなくなることがあるので細くして、位置を少しずらしました。
結果
こうなりました。
ちゃんと動いています25記事用
— ある暇な人 (@Aruhimanahito) December 25, 2022
メダル落とし pic.twitter.com/kRY01HVSsX
振り返り
C#については結構使いこなせるようになりました。
githubとかUnityの使いかたもよく理解できました。
いろいろなゲームを作ってみたけど、どれも一筋縄ではいかないものが多かったです。
ちなみに、失敗例は少ししか載せてません。大体乗せた数の5倍ほど失敗してました。
頭で考えてることがうまく実現できないこともあったけど、それでも最後までやり切れたものが多かったので個人的には大成功だと思っています。
ちなみに、記事を書くときは伝わりやすいように絵本のようにイラストや画像を多めに使ったつもりです。
以下はどうしてもできず没になったものです
・アイテムを集めるゲーム
・ライツアウト
・トランプ(ババ抜き)
これらはもっと勉強してから作りたいと思います。
最後に
25日目 終わり