【ハルシオンブログ】スクリプトからUIを選択状態にするとき
こんにちは。
大坂です。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
スクリプトからUIを選択状態にしたいときのお話。
「EventSystem」の「SelectedGameObject」を使用するとできます。
こんな感じですね。指定するのは「GameObject」です。
ButtonとかToggleなど「Selectable」を継承しているクラスだと使えますね。
ついでに選択状態を解除したいときは「null」を指定してあげれば、解除できます。
選択されているゲームオブジェクトがないときはエラーになってしまうのでチェックする必要がありますが、こんな感じで選択状態を解除できます。
画面を開いたときに選択状態を変更したい場合は使ってみてください。
ではではノシ
大坂です。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
スクリプトからUIを選択状態にしたいときのお話。
「EventSystem」の「SelectedGameObject」を使用するとできます。
[SerializeField]private TMP_InputField test;
private void Start()
{
EventSystem.current.SetSelectedGameObject(test.gameObject);
}
こんな感じですね。指定するのは「GameObject」です。
ButtonとかToggleなど「Selectable」を継承しているクラスだと使えますね。
ついでに選択状態を解除したいときは「null」を指定してあげれば、解除できます。
private void Start()
{
if (EventSystem.current.currentSelectedGameObject != null)
{
EventSystem.current.SetSelectedGameObject(null);
}
}
選択されているゲームオブジェクトがないときはエラーになってしまうのでチェックする必要がありますが、こんな感じで選択状態を解除できます。
画面を開いたときに選択状態を変更したい場合は使ってみてください。
ではではノシ
Category: 開発日記(Unity)
【ハルシオンブログ】Unityのバージョン変えたときにたまにでる「Missing Default layout」エラーの解決法
坂内っす。
5月4日にはゲームダンジョン5がありますね!
もう1か月を切りました!出展のみなさん頑張ってください!
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
Unityのバージョンを変えたときにLayoutのエラーが出ることがあります。
こんなエラー見たことあります?
もうなにしても立ち上がらないのです。
こんな時色々と対応策がネットでも書かれているのですが、以下をやれば一発で直りました。
①プロジェクトの「Library」フォルダを消す。
これで直ります!(たぶん
(Libraryって消していいんでしたっけ?)
その後起動するとLibraryの中身を作り直すので立ち上がるまで時間がかかります。
意外と解決法分からないと、どうしようどうしようってなっちゃうので、メモです。
では、あでゅ~ノシ
5月4日にはゲームダンジョン5がありますね!
もう1か月を切りました!出展のみなさん頑張ってください!
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
Unityのバージョンを変えたときにLayoutのエラーが出ることがあります。
こんなエラー見たことあります?
もうなにしても立ち上がらないのです。
こんな時色々と対応策がネットでも書かれているのですが、以下をやれば一発で直りました。
①プロジェクトの「Library」フォルダを消す。
これで直ります!(たぶん
(Libraryって消していいんでしたっけ?)
その後起動するとLibraryの中身を作り直すので立ち上がるまで時間がかかります。
意外と解決法分からないと、どうしようどうしようってなっちゃうので、メモです。
では、あでゅ~ノシ
Category: 開発日記(Unity)
【ハルシオンブログ】OnDestroyを使うときに注意点
こんにちは。
大坂です。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
ゲームオブジェクトが削除された時に何か処理をしたいときなんかにOnDestroyを使ったりしますが、これって一回もアクティブになっていないゲームオブジェクトだと呼ばれないんですね。
ログ出すだけですがこんなコードをゲームオブジェクトにアタッチしておいて試してみます。
結果はこんな感じ。
アクティブにしておいた方のゲームオブジェクトを削除した時だけログが出てきますね。
こんなこともあるので、動かないと思ったときは確認してみてくださいまし。
ではではノシ
大坂です。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
ゲームオブジェクトが削除された時に何か処理をしたいときなんかにOnDestroyを使ったりしますが、これって一回もアクティブになっていないゲームオブジェクトだと呼ばれないんですね。
ログ出すだけですがこんなコードをゲームオブジェクトにアタッチしておいて試してみます。
void OnDestroy()
{
Debug.Log("削除されたよ");
}
結果はこんな感じ。
アクティブにしておいた方のゲームオブジェクトを削除した時だけログが出てきますね。
こんなこともあるので、動かないと思ったときは確認してみてくださいまし。
ではではノシ
Category: 開発日記(Unity)
【ハルシオンブログ】UnityでGoogleMapを開く方法!(ほんとすいません
こんにちは。坂内っす。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
くそつまらんネタなんですが、UnityのOpenURLでGoogleMapを開く方法。
え?もちろん場所名とかでも開けます・・・・
ええ・・・そのままですw
Unityで(ブラウザを立ち上げて)GoogleMapの好きな場所を開く方法でした!
では!あでゅ~ノシ
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
くそつまらんネタなんですが、UnityのOpenURLでGoogleMapを開く方法。
void Start()
{
double latitude = 35.68161276110056;
double longitude = 139.76745042471222;
Application.OpenURL("https://maps.google.com/maps?q=" + latitude + "," + longitude);
}
え?もちろん場所名とかでも開けます・・・・
void Start()
{
string placeName = "仙台駅";
Application.OpenURL("https://maps.google.com/maps?q=" + placeName);
}
ええ・・・そのままですw
Unityで(ブラウザを立ち上げて)GoogleMapの好きな場所を開く方法でした!
では!あでゅ~ノシ
Category: 開発日記(Unity)
【ハルシオンブログ】指定した値がEnumに存在するか確認するメソッド
こんにちは。
大坂です。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
今回もEnumの話ですが…。
指定した値がEnumに存在するか確認したいときのお話。
「Enum.IsDefined」メソッドを使用するだけ。
こんな感じですね。
使う場面あんまりないかなとも思ったのですが、外部からの入力値などをenumに変換するときに値がキャスト可能かどうか事前確認したいときがあって使用したので、紹介がてら。
何か使えそうな場面があったら使ってみてくださいまし。
ではではノシ
大坂です。
ポケットガール~受け継がれし希望~よろしくお願いします。
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
今回もEnumの話ですが…。
指定した値がEnumに存在するか確認したいときのお話。
「Enum.IsDefined」メソッドを使用するだけ。
enum EnumTest
{
Test_1 = 0,
Test_2 = 1,
Test_3 = 2,
Test_4 = 3,
}
void Start()
{
Debug.Log(Enum.IsDefined(typeof(EnumTest), 0)); // true
Debug.Log(Enum.IsDefined(typeof(EnumTest), 1)); // true
Debug.Log(Enum.IsDefined(typeof(EnumTest), 5)); // false
Debug.Log(Enum.IsDefined(typeof(EnumTest), "Test_3")); // true
Debug.Log(Enum.IsDefined(typeof(EnumTest), "Test_4")); // true
Debug.Log(Enum.IsDefined(typeof(EnumTest), "TEST_1")); // false
Debug.Log(Enum.IsDefined(typeof(EnumTest), "Test_5")); // false
}
こんな感じですね。
使う場面あんまりないかなとも思ったのですが、外部からの入力値などをenumに変換するときに値がキャスト可能かどうか事前確認したいときがあって使用したので、紹介がてら。
何か使えそうな場面があったら使ってみてくださいまし。
ではではノシ
Category: 開発日記(Unity)