09 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【Unity】懲りずにカーソルネタだよ。カーソル変えてみたんだよ。 

こんにちは。
大坂です。

たまに目がかゆくなったり、鼻水が止まらなかったりと
今年も花粉の時期が近付いてる気がします…orz
嫌な季節です。

さて今週も懲りずにカーソルネタ。
Unityでのカーソルの変え方ですね。

ゲーム内で終始違うカーソルを使うのなら「PlayerSettings」の「DefaultCursor」に画像を設定すれば変わります。
ここを変えるとゲームを起動しないでもEditorのGame中にカーソルを持っていくとカーソルが変わります。


あと注意点は変更したいカーソルの画像の設定でTextureTypeを「Cursor」にしないと絵がうまく表示されません。


でまぁプログラムから特定のオブジェクトに入った時だけ変えたいとか。
こんな感じのプログラムをオブジェクトにつければいいのかな。
    public Texture2D cursor;

/// <summary>
/// オブジェクトに入った
/// </summary>
/// <param name="eventData">
public void OnPointerEnter(PointerEventData eventData) {
// カーソルを変更
Cursor.SetCursor(cursor, Vector2.zero, CursorMode.Auto);
}

/// <summary>
/// オブジェクトから出た
/// </summary>
/// <param name="eventData">
public void OnPointerExit(PointerEventData eventData) {
// カーソルをもとに戻す場合
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}


第二引数のVector2.zeroを指定しているところはカーソルの当たる座標の指定です。
今の設定だと左上に当たる座標があるのでずらしたい場合はここに指定しましょう。
画像の中央にしたい場合は「new Vector2(cursor.width / 2, cursor.height / 2)」とかって指定すると
画像の中央で判定されます。

「public Texture2D cursor」にTextureTypeを「Cursor」にした画像をつけたら、
スクリプトを張り付けたオブジェクトにカーソルが当たったら画像が変更されます。
こんな感じ。


今週もこれで終わりですよ。
また来週ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/380-79f1c053
この記事にトラックバックする(FC2ブログユーザー)