時計リベンジ+GitHubについて

[【完走目指す】初心者が25日で強くなる Advent Calendar 2022](https://qiita.com/advent-calendar/2022/aruhitoganbaru)
19日目です
# GitHubを使おうとした
やろうとしていた。
前回はうまくいったから、今回もうまくいくだろうと思ってた。
あれから20日くらいエラーが出続け、試行錯誤した結果をまとめておきます（備忘録）
## エラー吐かれる
![スクリーンショット_20221220_232957.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/d9415fa3-2d08-79b3-9415-fd23e4186806.png)
何度やってもこれ。
調べても、治らない。
そして、今日にいたる。
## 突然の成功
![スクリーンショット_20221220_233338.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/00bacd45-d4de-74cb-3e78-0387602d97cf.png)
cdを使うと、自分が今いる位置を移動できる。
これで、自分がgithubに上げたいファイルまで移動する
うまくいくと、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/c137f5ef-077c-7dc9-6e7a-3cdcfd996ac4.png)
~だけだった部分が変わる。
あとは３日目の記事に書いたとおりにやってください。
補足すると、
![スクリーンショット_20221220_234049.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/e09ada00-5372-bbcf-ab74-e38789bcc60b.png)
ここの部分の、
![スクリーンショット_20221220_234058.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/9ee7ce4a-1576-7d01-eae3-b430bb02ca03.png)
これを押したら勝手にコピーされて、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/d0de0bf2-273d-c016-94fa-c5cdabd94edf.png)
右クリック→paste
これで、誰でも簡単にできる。楽勝
# 時計リベンジ
10日目の記事にて、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/23c3bc14-9f08-0718-4c9d-f810f8e8fd42.png)
こんなことを書いておきながら、デジタル時計しか作る余裕がなかった。
ということで、時計制作をリベンジします。
まず、長針と短針を作ります
![時計長針.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/2be18c7f-34bd-d661-5262-dc0a18607bf0.png)
![時計短針.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/a6060ef7-ef00-c901-e3e1-fedf157c8888.png)

いい感じに配置します。
この針が動きます。
ところでこの針は原点が合ってないので、動かそうとすると
![スクリーンショット_20221221_094558.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/93045287-da5f-cef2-c84d-da856eaf7382.png)
これが![スクリーンショット_20221221_094609.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/1c964a02-45a8-290d-298b-cf078b3d6b00.png)
針の中央を原点として回ってしまいます。
# 直す
空のオブジェクトを作り、針と親子関係にします。
![スクリーンショット_20221221_094831.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/f4430522-2703-f35d-a646-af4d3b13dba7.png)
原点にしたいところに空のオブジェクトを移動します。
![スクリーンショット_20221221_094844.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/ce0a28bc-98c3-7d91-6215-4e9eb9e0d111.png)
これで、空のオブジェクトを原点として針を回転させられるようになりました。
![スクリーンショット_20221221_095111.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/97557a7f-a3de-6c76-5697-dd642e909972.png)
針をくっつけた状態の空のオブジェクトを移動させます。
それでは、時計を動かす部分を作っていきます。
時計の長針は、１分間に
360/60=6
6度動きます
短針は、12分ごとに6度動きます。
ところが、
これを書こうとしていたら
![スクリーンショット_20221221_105321.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/397f55c7-245b-9c1b-cc27-1388055b1158.png)
vector3ではposition（位置）はとれるけどrotation(角度)はとれないみたいです。
結果的に、以下のようになりました。
```
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class Clock : MonoBehaviour
{
 
    public GameObject HariM;//分
    public int M;
    public GameObject HariH;
    public int H;

    DateTime ND;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        ND = DateTime.Now;
        M = ND.Minute;
        H = ND.Hour;
        HariM.transform.rotation =Quaternion.Euler(0,0,-M*6);
        HariH.transform.rotation = Quaternion.Euler(0, 0, -(H*30 + 0.5f * M));
    }
}

```
これで、
![スクリーンショット_20221221_130452.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/ad0bda4c-7544-58c2-76f9-61b5ac4c0ba3.png)
![スクリーンショット_20221221_130501.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/44580f08-81cc-3a0a-523b-82934d284c50.png)
今の角度を表せるようになりました。
あとは、背景を作ります。せっかくなのでいくつか作って変更できるようにします。
# 時計盤
作ります。
1.シンプルなデザイン
![時計盤１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/df73b7ff-8aa3-1baa-e767-77a8a4ec8c3f.png)

2.ローマ数字
![時計盤２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/5a947001-7499-5d83-da69-0dabf2ce3059.png)


3.漢字
![時計盤３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/186326fb-b7fc-c2d4-aa22-e35987532128.png)

3パターン作りました。
それぞれ位置を調整して配置しておきます。
以下のように記述しましょう
```
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Tokeiban : MonoBehaviour
{
    public Toggle A;
    public Toggle B;
    public Toggle C;
    public GameObject[] Tokei;
    // Start is called before the first frame update
    void Start()
    {
        A.isOn = true;
        
    }

    // Update is called once per frame
    void Update()
    {
        if (A.isOn == true)
        {
            Tokei[0].SetActive(true);
            Tokei[1].SetActive(false);
            Tokei[2].SetActive(false);

        }
        if (B.isOn == true)
        {
            Tokei[1].SetActive(true);
            Tokei[2].SetActive(false);
            Tokei[0].SetActive(false);

        }
        if (C.isOn == true)
        {
            Tokei[2].SetActive(true);
            Tokei[1].SetActive(false);
            Tokei[0].SetActive(false);

        }

    }
}
```
今回は、ToggleのGroup
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/0556f614-d4fb-04a8-9308-df3e674f7eb8.png)
これを使っていきます。
空のオブジェクトにToggle Groupというものをつけて、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/25547d79-e424-e399-1c46-081412f44853.png)
ToggleのGroupの所にさっきの空のオブジェクトを入れてあげます。
これで、準備が完了しました。
では、動かしてみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/bc42b7b1-8085-a5b4-8fe3-b1ad0a34b5ae.png)
最初は1にチェックが付いています。
これを壱に変えてみると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/2a275a17-73b8-0943-15cf-9b2120cb9dd4.png)
（なんか画面に収まってないけど）ちゃんと切り替わりました！
完成。
# まとめ
アナログ時計も作れる
病身を入れたいなら、分針の部分と同じ感じに作りましょう。
secondを取得して分と同じように作るだけです。



19日目　終わり