同じボタンを押して画像をオンオフ

次は、同じボタンを押して画像をオンオフして見るッピ!

プログラムを↓のコードに
書き換えてみるッピ!
using UnityEngine;
public class MouseClick : MonoBehaviour
{
public GameObject Image;
bool character = false;
void Update()
{
if (Input.GetMouseButtonDown (0))
{//画像表示
if(character != true)
{
Image.SetActive (true);
character = true;
}
else
{
Image.SetActive (false);
character = false;
}
}
}
}
ちなみにこのプログラムは
using UnityEngine;
public class MouseClick : MonoBehaviour
{
public GameObject Image;
bool character = false;
void Update()
{
if (Input.GetMouseButton(0)){
if(character != true){
Image.SetActive (true);
character = true;
}
else
{
Image.SetActive (false);
character = false;
}
}
}
という意味になるッピ!

そういうことだったのね

なるほどなー
テストプレイ




できたわ!

やったなアイカちゃん!
Unityのマウス入力について

Unityのマウス入力には、
Inputメッソドを使うッピ!
| プログラムメッソド | 発動条件 |
|---|---|
| Input.GetMouseButton | マウスボタンが押されていたら発動 |
| Input.GetMouseButtonDown | マウスボタンが押された瞬間に発動 |
| Input.GetMouseButtonUp | マウス押されたボタンが開放されたときに発動 |

インプットメッソド~?
って何だ?

インプットメッソドというのは、
マウスやキーボードなど、外部から入力があったときに
発動するプログラムをつくるときに使うものッピ!

そうなのね!

そしてマウスのInputメッソドは
Input.GetMouseButton
をつかうことが多いッピね~

なあ、うさタブ
using UnityEngine;
public class MouseClick : MonoBehaviour
{
public GameObject Image;
void Update()
{
if (Input.GetMouseButtonDown (0))
{//Clickで画像表示
Image.SetActive (true);
}
if (Input.GetMouseButtonDown (1))
{//右Clickで画像消去
Image.SetActive (false);
}
}
}

じゃあこの、
Input.GetMouseButton(0)
の(0)とか(1)ってあるけどさ??

なんで(0)なのか、
まったく理解できないんだけど・・・
どうして1とか0なわけ?

それはズバリ、この数字が
引数だからッピね~!

引数??

引数ってなんだっけ・・・?
オレまだそこらへん記憶あいまいなんだけど

引数というのは、
プログラムが予め仕組んだ、分かれ道の条件のことだっピ!

if~~●●(分かれ道の条件)
{ プログラムの命令文 }
みたいなとき、
実際にその分かれ道の条件が満たされるもの変数を
仕込むことができるのが引数なんだッピ!

ど、どういうこと?

むずかしくてわからないわ
うさタブさん・・・

つまり今回みたいな
(0)なら、マウスの左クリック
マウスの左を押したら発動するプログラム
というのを組むことができるんだッピ!
| 引数 | 対応するマウスの場所 |
|---|---|
| (0) | マウスの左ボタン |
| (1) | マウスの右ボタン |
| (2) | マウスのホイール |

わかった!
0が左クリック、1が右クリックみたいな感じになるのか!

その通りッピ!
つまりさっきのコードも、0から1に変えると、
枝分かれの条件が右クリックを押したら~に変わってしまうんだッピよ~
using UnityEngine;
public class MouseClick : MonoBehaviour
{
public GameObject Image;
void Update()
{
if (Input.GetMouseButtonDown (0))
{//Clickで画像表示
Image.SetActive (true);
}
if (Input.GetMouseButtonDown (1))
{//右Clickで画像消去
Image.SetActive (false);
}
}
}
なるほどなー

勉強になったわっ!
- Assetsに画像ファイルを登録する
- ヒエラルキーから空のオブジェクトを作成する
- C#スクリプトを作成
- できたスクリプトを空のオブジェクトに登録
- 空のオブジェクトに画像をドラッグ&ドロップで登録
- テストプレイ

上手くできたッピか?
これからも色んなゲーム作りやプログラムの解説をしていくッピ!
次回も楽しみにしているッピよ~~!

UnityはC#を元に作られているッピ!
まだまだ Unity や C#について勉強したい人は↓の記事を参考にするッピ♪






