画像の背景を消してみる⑤ 細かい修正:Buttonのtextの位置移動(録音中・・・の文字)

細かい修正をしていきます。

 

まず、録音ボタンを、画像と共に動かすようにしたところ

 

録音中・・・

の文字だけが、置いて行かれていることに気付きました。

 

これを修正します。

 

まず、録音ボタンのtextの位置を取得しないといけない気がします。

 

 

・・・

 

できました。



白字で見にくいですが、ついてきてくれています。

 

背景を消しても付いてきます

 

少し試行錯誤しました。

 

元々

にアタッチしているplay.csで、このテキストの表示・非表示を扱っていました。

 

一番下の↓rokuonshitemasu1がそれ。

 

text自体はここにあります。

 

なので、play.csの中に記述していきました。

 

ですが、スタート時にどうしても

標準の位置(画像をどこにも移動させていないときの位置)に

文字が表示され、画像とはズレてしまいました。

 

なので、play.csに書くのはやめて、

image1.csに書きました。

 

クラスの中に以下を記述。

 //録音中・・・表示非表示に必要
    [SerializeField] Text rokuonshitemasu1;

なぜ 

[SerializeField]なのかは、恐らくplay.csに書くために、

この時調べた参考サイトをもとにコピペしたのだと思います。

play.csでは、こう記述されていたので、

image1.csでも、このまま使っていこうと思います。

 

Hierarchyからinspectorにアタッチ

(一番下)

 

内容は録音ボタンのときとほぼ同じです。

 

 void OnMouseDrag()
    {
        //移動したマウスの座標を代入
        var currentScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
        //移動したマウス座標をワールド座標へ変換し,先ほど求めた offset を適用してアタッチしたオブジェクトの座標に直す
        var currentPosition = Camera.main.ScreenToWorldPoint(currentScreenPoint) + this.offset;
        //セットする
        transform.position = currentPosition;

        /////////////////////////////録音ボタンの位置関係/////OnMouseDragのとこと、posihenkoの関数のとこ//Startのとこ//////////////////////////////////////
       //録音ボタンの位置も変更
        Button.transform.position = new Vector3(transform.position.x, transform.position.y -70, -50);

        //録音してます...の位置も変更
        rokuonshitemasu1.transform.position = new Vector3(transform.position.x + 50, transform.position.y - 50, -50);


        back1Cu.GetComponent<play>().Posihenkopl();
    }

 

・・・・

・・・・

 

 public void Posihenkoimage1()
    {
        this.transform.position = pl.transform.position;

        /////////////////////////////録音ボタンの位置関係/////OnMouseDragのとこと、posihenkoの関数のとこ//Startのとこ//////////////////////////////////////
        Button.transform.position = new Vector3(transform.position.x, transform.position.y - 70, -50);
        //録音してます...の位置も変更
        rokuonshitemasu1.transform.position = new Vector3(transform.position.x + 50, transform.position.y - 50, -50);

    }

 

・・・

 

 

 private void Start()
    {

・・・


        //録音してます...の位置も変更
        rokuonshitemasu1.transform.position = new Vector3(xPosi + 50, yPosi - 50, -50);

 

}

 

 

赤字が追加です。

 

これでスタート時も、画像のところに文字が表示されました。