查看: 1134|回复: 4
打印 上一主题 下一主题

[其他] 安卓 iphone 自动设置朝向

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-6-30 16:03:02 |只看该作者 |倒序浏览

此脚本主要为了 适应如下情况设备无非两种情况
横宽竖窄、横窄竖宽
可能你在编译的时候设置了横屏 理想情况下是
横窄竖宽      实际拿到设备发现情况是 横宽竖窄
______                                                 _____________
|      ↓    |                                                |         ↓                |
|      ↓    |                                                |         ↓                |
|      ↓    |                                                _____________
______

所以有了此脚本的诞生 设置横屏 必然是宽大于高 竖屏 则高大于款
脚本如下
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEngine;


  6. public static class MethodRegister
  7. {
  8.     /// <summary>
  9.     /// 横屏
  10.     /// </summary>
  11.     public static const int LANDSCAPE = 0;
  12.     /// <summary>
  13.     /// 竖屏
  14.     /// </summary>
  15.     public static const int PORTRAIT = 1;
  16.     /// <summary>
  17.     /// 自适应朝向
  18.     ///
  19.     /// <param name="type">屏幕朝向类型 0横屏 1纵屏</param>
  20.     /// </summary>
  21.     public static void ReOrientation(this MonoBehaviour mono,int type)
  22.     {
  23.         int value1;
  24.         int value2;
  25.         switch (type) {
  26.             case LANDSCAPE:
  27.                 value1 = Screen.height;
  28.                 value2 = Screen.width;
  29.                 break;
  30.             case PORTRAIT:
  31.                 value1 = Screen.width;
  32.                 value2 = Screen.height;               
  33.                 break;
  34.             default:
  35.                 return;
  36.         }
  37.         #if UNITY_ANDROID
  38.         if (value1 > value2)
  39.         {
  40.             if (Screen.orientation == ScreenOrientation.Landscape || Screen.orientation == ScreenOrientation.LandscapeLeft || Screen.orientation == ScreenOrientation.LandscapeRight)
  41.             {
  42.                 Screen.orientation = ScreenOrientation.Portrait;
  43.             }
  44.             else
  45.             {
  46.                 Screen.orientation = ScreenOrientation.Landscape;
  47.             }
  48.         }
  49.         #endif
  50.         #if UNITY_IPHONE
  51.         if (value1 > value2) {
  52.             if (Screen.orientation == ScreenOrientation.Landscape || Screen.orientation == ScreenOrientation.LandscapeLeft || Screen.orientation == ScreenOrientation.LandscapeRight)
  53.             {
  54.                 Screen.orientation = ScreenOrientation.Portrait;
  55.             }
  56.             else {
  57.                 Screen.orientation = ScreenOrientation.Landscape;
  58.             }
  59.         }
  60.         #endif

  61.     }
  62. }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

wucnj    

1

主题

1

听众

3160

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-7-1 10:42:40 |只看该作者
感谢分享!!!
回复

使用道具 举报

0

主题

1

听众

823

积分

初级设计师

Rank: 3Rank: 3

纳金币
80
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-7-1 12:45:30 |只看该作者
感谢分享!!!
回复

使用道具 举报

0

主题

1

听众

569

积分

初级设计师

Rank: 3Rank: 3

纳金币
155
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-7-29 20:31:52 |只看该作者
好东东支持
回复

使用道具 举报

0

主题

1

听众

939

积分

初级设计师

Rank: 3Rank: 3

纳金币
330
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-7-30 08:34:09 |只看该作者
好                  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-18 01:30 , Processed in 0.087266 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部