同じボタンを押して画像をオンオフ
次は、同じボタンを押して画像をオンオフして見るッピ!
プログラムを↓のコードに
書き換えてみるッピ!
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#について勉強したい人は↓の記事を参考にするッピ♪