CG游麟网官方站
查看: 2338|回复: 15

[机械教程] 感应iOS设备旋转与iPhone键盘事件

[复制链接]

9

主题

9

帖子

47

积分

初入江湖

Rank: 1

麒麟币
38
任务币
0
威望
0
贡献
0
主题
9
在线时间
3 小时
发表于 2015-9-11 17:25:35 | 显示全部楼层 |阅读模式
0.jpg unity3D引擎教程
下面小编将以一个例子向各位盆友们介绍Unity3D 屏幕的哪些事儿。
强制屏幕四个方向不旋转的方法
[代码]c#/cpp/oc代码:
1void Start () {
2 //纵向 上下 两个方向
3 iPhoneKeyboard.autorotateToPortrait = false;
4 iPhoneKeyboard.autorotateToPortraitUpsideDown = false;
5
6 //横向 上下两个方向
7 iPhoneKeyboard.autorotateToLandscapeLeft = false;
8 iPhoneKeyboard.autorotateToLandscapeRight = false;
9}
自动旋转屏幕的方法,此方式适用于Unity3.3及一下的版本。
Input.deviceOrientation 可以得到当前IOS 设备屏幕的方向状态。
Screen.orientation 设置屏幕的反转情况
[代码]c#/cpp/oc代码:
01void Update () {
02 //处理横向两个方向旋转
03 if(Input.deviceOrientation == DeviceOrientation.LandscapeLeft)
04 {
05 if (Screen.orientation != ScreenOrientation.LandscapeLeft) {
06 Screen.orientation = ScreenOrientation.LandscapeLeft;
07 }
08 }else if(Input.deviceOrientation == DeviceOrientation.LandscapeRight)
09 {
10 if (Screen.orientation != ScreenOrientation.LandscapeRight) {
11 Screen.orientation = ScreenOrientation.LandscapeRight;
12 }
13
14 }else
15 //处理纵向两个方向的旋转
16 if(Input.deviceOrientation == DeviceOrientation.Portrait)
17 {
18 if (Screen.orientation != ScreenOrientation.Portrait) {
19 Screen.orientation = ScreenOrientation.Portrait;
20 }
21 }else if(Input.deviceOrientation == DeviceOrientation.PortraitUpsideDown)
22 {
23 if (Screen.orientation != ScreenOrientation.PortraitUpsideDown) {
24 Screen.orientation = ScreenOrientation.PortraitUpsideDown;
25 }
26 }
27 }
3.4及以上的版本可以在Setting for IOS 设置中直接设置屏幕旋转。
1.jpg 下面的游戏例子,通过左边的按钮直接切换屏幕旋转状态,右边的按钮打开iPhone输入状态框。
2.jpg [代码]c#/cpp/oc代码:
01using UnityEngine;
02using System.Collections;
03
04public class Main : MonoBehaviour {
05
06 //键盘输入
07 private iPhoneKeyboard keyboard;
08
09 //字体皮肤
10 public GUISkin fontSkin;
11
12 // Use this for initialization
13 void Start () {
14 }
15
16 // Update is called once per frame
17 void Update () {
18 }
19
20
21 void OnGUI() {
22 //设置皮肤
23 GUI.skin = fontSkin;
24
25 //强制屏幕纵向
26 if (GUI.Button(new Rect(10, 10, 300, 100), "change LandscapeLeft")) {
27 Screen.orientation = ScreenOrientation.LandscapeLeft;
28 }else if (GUI.Button(new Rect(10, 110, 300, 100), "change LandscapeRight")) {
29 Screen.orientation = ScreenOrientation.LandscapeRight;
30 }else
31
32 //强制屏幕横向
33 if (GUI.Button(new Rect(10, 210, 300, 100), "change Portrait")) {
34 Screen.orientation = ScreenOrientation.Portrait;


楼主热帖
回复

使用道具 举报

0

主题

4491

帖子

4934

积分

誉满一方

Rank: 8Rank: 8

麒麟币
388
任务币
170
威望
0
贡献
0
主题
0
在线时间
876 小时
发表于 2015-9-12 09:06:33 | 显示全部楼层
我一直默默的支持楼主
回复 支持 反对

使用道具 举报

17

主题

717

帖子

2469

积分

名动江湖

Rank: 6Rank: 6

麒麟币
1734
任务币
50
威望
0
贡献
0
主题
17
在线时间
66 小时

最佳新人忠实会员

发表于 2015-9-12 10:32:21 | 显示全部楼层
真的非常棒!
回复 支持 反对

使用道具 举报

16

主题

2840

帖子

1万

积分

无人不晓

Rank: 12Rank: 12Rank: 12

麒麟币
11918
任务币
300
威望
0
贡献
0
主题
16
在线时间
336 小时

最佳新人忠实会员

发表于 2015-9-15 12:22:16 | 显示全部楼层
感谢楼主分享!!!
回复 支持 反对

使用道具 举报

1

主题

2万

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
10834
任务币
0
威望
0
贡献
0
主题
1
在线时间
958 小时
发表于 2015-9-16 09:55:01 | 显示全部楼层
此贴甚好,朕已阅,且阅且珍惜!
回复 支持 反对

使用道具 举报

0

主题

464

帖子

1187

积分

名动江湖

Rank: 6Rank: 6

麒麟币
717
任务币
70
威望
0
贡献
0
主题
0
在线时间
41 小时
发表于 2015-9-19 21:16:25 | 显示全部楼层
真的非常棒!
回复 支持 反对

使用道具 举报

1

主题

918

帖子

1529

积分

名动江湖

Rank: 6Rank: 6

麒麟币
600
任务币
50
威望
0
贡献
0
主题
1
在线时间
67 小时
发表于 2015-9-20 21:48:44 | 显示全部楼层
真的非常棒!
回复 支持 反对

使用道具 举报

0

主题

458

帖子

1297

积分

名动江湖

Rank: 6Rank: 6

麒麟币
833
任务币
70
威望
0
贡献
0
主题
0
在线时间
38 小时
发表于 2015-9-21 22:57:51 | 显示全部楼层
我一直默默的支持楼主
回复 支持 反对

使用道具 举报

0

主题

8031

帖子

1万

积分

蜚声中外

Rank: 13Rank: 13Rank: 13Rank: 13

麒麟币
10645
任务币
250
威望
0
贡献
0
主题
0
在线时间
1072 小时

最佳新人忠实会员

发表于 2016-1-23 19:48:06 | 显示全部楼层
CG游麟网真的很棒,我喜欢。
回复 支持 反对

使用道具 举报

12

主题

2848

帖子

6593

积分

四方传颂

Rank: 9Rank: 9Rank: 9

麒麟币
3745
任务币
50
威望
0
贡献
741
主题
12
在线时间
561 小时
发表于 2016-1-31 08:35:18 | 显示全部楼层
谢谢分享,资源很棒
回复 支持 反对

使用道具 举报

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

本版积分规则

在线客服
客服QQ:
47413829
新QQ群:
418757022
在线时间:周一至周五
9:00-22:00 Email:
47413829@qq.com
举报:网盘资源失效
在线客服
快速回复 返回顶部 返回列表