にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

Unityで学ぶプログラミング TIPS (14)画面上をクリックしたらなんとかする処理

今回は、よくある画面上の何かをクリックしたらどうにかなる
処理を書きます。ゲームでよくありますよね。

参考例は「画面上のcubeをクリックしたらどっか飛んでく」
にしておきます。

手順は

(1)ヒエラルキーにevent systemを置く
   ※右クリックUIにあります。
(2)カメラにクリックを検知する
   psychic RayCaster(確かadd componentのevent)
   を追加する。
(3)スクリプトをかく
(4)クリックイベントに追加する

とりあえず、(1)(2)は終わらせましょう。

f:id:koharuwest:20200427225609p:plain

f:id:koharuwest:20200427225648p:plain
よっしゃ!できました!

ちなみに、レイキャスターは「カメラで見える範囲」に対して
反応します。つまり、カメラの範囲外はクリックしても何も起
きないと。

スクリプトじゃい!

すごい単純です。

public class sampke : MonoBehaviour
{
void Start()
{
 
}

void Update()
{
 
}

public void kurikku(){
//動くよ
transform.position+=new Vector3(0,0,5.0f);
}

}


大事なのはkurikkuのところです。
これは保存してcubeにアタッチしておきましょう。

f:id:koharuwest:20200427230202p:plain

さてさてイベントを発生させます。

cubeにadd component eventの  event trigger  としましょう。

こうして・・・

f:id:koharuwest:20200427230342p:plain

+を押して、cubeを突っ込みます。んで、functionから

f:id:koharuwest:20200427230453p:plain

こうするよっと。voidがpublicじゃないとここで出てきません。

f:id:koharuwest:20200427230701p:plain


これで実行し、キューブをクリックすると(目安としてplaneいれました)

f:id:koharuwest:20200427231016p:plain



こんなふうに動きました。

f:id:koharuwest:20200427231104p:plain




今日も小ネタですいません。

それではよきプログラミングライフを!
またね。