#←この記号正しく読めますか?
はじめに
#←この記号正しく読めますか?
ちなみに自分は今日まで読めませんでした。
実はこの記号シャープとは読みません
これは井桁(いげた)と読みます。
他の読み方
他には以下のような呼び方があります。
- Pound
- Hash Key
ハッシュに関してはTiwtter, Instagram でハッシュタグと呼ばれているのでわかりやすいです。
個人的にはパウンドと呼び方が好みです。
シャープとパウンドの見分け方
♯ ← シャープ
- 縦棒が垂直で横棒が水平よりやや傾いている
#←井桁(いげた)
- 横棒が水平で縦棒がやや傾いている
シャープは音楽記号
- 楽譜では水平にしてしまうと読みにくくなるため斜めにしてある
じゃあC#は?
文字ではパウンドですが、ロゴではしっかりとシャープになっていますね。
Unity 全シーン管理マネージャーの作成
Unityを実行するとき任意のシーンが呼び出され,そのシーンの中にあるマネージャーがただ一つ存在し続けるようにするための方法
Unity 2018.2.12.f.1 使用
参考 全てのシーンに存在し、かつ、一つしか存在してはいけないマネージャー的存在の実装方法【Unity】 - (:3[kanのメモ帳]
完成イメージは以下のgifを参照
手順1 呼び出されるだけのシーンを作成する
カメラオブジェクトも削除しておく
手順2 Sceneを追加する
手順3 スクリプトを作成する
以下のスクリプトを作成する.それだけでよく何かのオブジェクトにアタッチする必要はない. RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)でシーンのロード前に呼び出される.
using UnityEngine; using UnityEngine.SceneManagement; public class ManagerSceneAutoLoader : MonoBehaviour { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] private static void LoadManagerScene(){ string managerSceneName = "ManagerScene"; //ManagerSceneが有効でないときに追加ロード if(!SceneManager.GetSceneByName(managerSceneName).IsValid()){ SceneManager.LoadScene(managerSceneName, LoadSceneMode.Additive); } } }
手順4 全シーンに適応したいマネージャーを用意
今回はスマホゲームによくある時間によって回復する行動ポイントを管理するマネージャを全シーンに配置する.
手順5 全シーン管理マネージャーをシーン遷移しても消えないようにする
DontDestroyOnLoadメソッドを使って消えないようにする.
using UnityEngine; public class DDManager : MonoBehaviour { public GameObject gameObject; void Start () { DontDestroyOnLoad(gameObject); } }
これで実行すれば,実行されたところからManagerSceneが起動し,DDManagerによりActionPointManagerが残り,重複することなく全シーンに配置される.
Unity uGUIをドラッグで動かしてステージを選ぶ
完成イメージです.
動かすためには, IDragHandlerのインターフェースを継承する必要がある. OnDrag関数はドラッグが発生しているとき,カーソルが移動するたびに呼び出される.
以下のようなスクリプトを作成する.
using UnityEngine; using UnityEngine.EventSystems; public class SlideController : MonoBehaviour, IDragHandler { public RectTransform m_rectTransform = null; public void OnDrag(PointerEventData eventData) { m_rectTransform.position += new Vector3(eventData.delta.x*0.01f, 0f, 0f); } }
OnDrag関数のPointerEventData からドラッグのデータを受け取り,動かしたいオブジェクトのRectTransformをいじると動きます.
このスクリプトを動かしたいオブジェクトに着けてRectTransformに自身を入れてあげれば動かすことが可能です.