実施例9に2019 Unityのゲームフレームワーク構造(15)(B)

前回の記事では、我々は裁判官パッドデバイスの解像度を完了しました。今日、私たちの残りの部分は、他の解像度を取得する必要があります。

16:9携帯電話の解像度

携帯電話のほとんどは16:9。
コードは次のようにので。

		/// <summary>
		/// 是否是手机分辨率 16:9
		/// </summary>
		/// <returns></returns>
		public static bool IsPhoneResolution()
		{
			var aspect = GetAspectRatio();
			return aspect > 16.0f / 9 - 0.05 && aspect < 16.0f / 9 + 0.05;
		}

3:2(iPhoneの4S)

		/// <summary>
		/// 是否是手机分辨率 3:2 3 / 2 = 1.5
		/// </summary>
		/// <returns></returns>
		public static bool IsPhone15Resolution()
		{
			var aspect = GetAspectRatio();
			return aspect > 3.0f / 2 - 0.05 && aspect < 3.0f / 2 + 0.05;
		}

2436:1125(iPhone X)

		/// <summary>
		/// 是否是iPhone X 分辨率 2436:1125
		/// </summary>
		/// <returns></returns>
		public static bool IsiPhoneXResolution()
		{
			var aspect = GetAspectRatio();
			return aspect > 2436.0f / 1125 - 0.05 && aspect < 2436.0f / 1125 + 0.05;
		}

他の

私たちは、法律が拡張されたモデルを持っているべきであると信じている、と言っても過言ではありません。

完全なサンプルコードは次のとおりです。

using UnityEngine;

#if UNITY_EDITOR
using UnityEditor;
#endif

namespace QFramework
{
	public class ResolutionCheck
	{
#if UNITY_EDITOR
		[MenuItem("QFramework/9.屏幕宽高比判断")]
#endif
		private static void MenuClicked()
		{
			Debug.Log(IsPadResolution() ? "是 Pad 分辨率" : "不是 Pad 分辨率");
			Debug.Log(IsPhoneResolution() ? "是 Phone 分辨率" : "不是 Phone 分辨率");
			Debug.Log(IsiPhoneXResolution() ? "是 iPhone X 分辨率" : "不是 iPhone X 分辨率");
		}

		/// <summary>
		/// 获取屏幕宽高比
		/// </summary>
		/// <returns></returns>
		public static float GetAspectRatio()
		{
			return Screen.width > Screen.height ? (float) Screen.width / Screen.height : (float) Screen.height / Screen.width;
		}

		/// <summary>
		/// 是否是 Pad 分辨率 4 : 3 
		/// </summary>
		/// <returns></returns>
		public static bool IsPadResolution()
		{
			var aspect = GetAspectRatio();
			return aspect > 4.0f / 3 - 0.05 && aspect < 4.0f / 3 + 0.05;
		}
		
		/// <summary>
		/// 是否是手机分辨率 16:9
		/// </summary>
		/// <returns></returns>
		public static bool IsPhoneResolution()
		{
			var aspect = GetAspectRatio();
			return aspect > 16.0f / 9 - 0.05 && aspect < 16.0f / 9 + 0.05;
		}
		
		/// <summary>
		/// 是否是iPhone X 分辨率 2436:1125
		/// </summary>
		/// <returns></returns>
		public static bool IsiPhoneXResolution()
		{
			var aspect = GetAspectRatio();
			return aspect > 2436.0f / 1125 - 0.05 && aspect < 2436.0f / 1125 + 0.05;
		}
	}
}

これを行う、私たちは、一度導出することができます。

今日、これらのコンテンツ。

住所転載を指定してください:サンダルノート:liangxiegame.com

もっと

  • QFramework住所:https://github.com/liangxiegame/QFramework

  • QQ交換基:623 597 263

  • Unityは、小さなクラスを進めました

    • メインのトレーニングコンテンツ:
      • Frameworkのセットアップトレーニング(初年度)
      • シェーダと一緒にケーススタディ(初年度)
      • 副業インキュベーション(二年、三年目)
    • 講義の形での株式の具体的な詳細は、などがご覧下さい「小さなクラスの製品マニュアル」 HTTPS:://liangxiegame.com/master/introを
  • いいえ国民の関心ん:初めての更新通知を取得liangxiegame、そしてより多くの無料コンテンツ。

公開された59元の記事 ウォン称賛42 ビュー30000 +

おすすめ

転載: blog.csdn.net/u010125551/article/details/105219628