Unity3D 游戏引擎之感应IOS设备旋转与iPhone键盘事件
雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archives/556
iPhone iPad iTouch 旋转设备都支持屏幕4个方向的任意旋转,那么强大的Unity3D 游戏引擎当然也支持啦,虽然很多游戏都为了避免麻烦强制的不让屏幕旋转,但是做为学习我们还是知道一下为好,因为Unity3D在处理屏幕旋转实在是非常方便,下面MOMO将以一个例子向各位盆友们介绍Unity3D 屏幕的哪些事儿~~。
强制屏幕四个方向不旋转的方法
void Start () {
//纵向 上下 两个方向
iPhoneKeyboard.autorotateToPortrait = false;
iPhoneKeyboard.autorotateToPortraitUpsideDown = false;
//横向 上下两个方向
iPhoneKeyboard.autorotateToLandscapeLeft = false;
iPhoneKeyboard.autorotateToLandscapeRight = false;
}
自动旋转屏幕的方法,此方式适用于Unity3.3及一下的版本。
Input.deviceOrientation 可以得到当前IOS 设备屏幕的方向状态。
Screen.orientation 设置屏幕的反转情况
void Update () {
//处理横向两个方向旋转
if(Input.deviceOrientation == DeviceOrientation.LandscapeLeft)
{
if (Screen.orientation != ScreenOrientation.LandscapeLeft) {
Screen.orientation = ScreenOrientation.LandscapeLeft;
}
}else if(Input.deviceOrientation == DeviceOrientation.LandscapeRight)
{
if (Screen.orientation != ScreenOrientation.LandscapeRight) {
Screen.orientation = ScreenOrientation.LandscapeRight;
}
}else
//处理纵向两个方向的旋转
if(Input.deviceOrientation == DeviceOrientation.Portrait)
{
if (Screen.orientation != ScreenOrientation.Portrait) {
Screen.orientation = ScreenOrientation.Portrait;
}
}else if(Input.deviceOrientation == DeviceOrientation.PortraitUpsideDown)
{
if (Screen.orientation != ScreenOrientation.PortraitUpsideDown) {
Screen.orientation = ScreenOrientation.PortraitUpsideDown;
}
}
}
3.4及以上的版本可以在Setting for IOS 设置中直接设置屏幕旋转。
下面的游戏例子,通过左边的按钮直接切换屏幕旋转状态,右边的按钮打开iPhone输入状态框。
using UnityEngine;
using System.Collections;
public class Main : MonoBehaviour {
//键盘输入
private iPhoneKeyboard keyboard;
//字体皮肤
public GUISkin fontSkin;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI() {
//设置皮肤
GUI.skin = fontSkin;
//强制屏幕纵向
if (GUI.Button(new Rect(10, 10, 300, 100), "change LandscapeLeft")) {
Screen.orientation = ScreenOrientation.LandscapeLeft;
}else if (GUI.Button(new Rect(10, 110, 300, 100), "change LandscapeRight")) {
Screen.orientation = ScreenOrientation.LandscapeRight;
}else
//强制屏幕横向
if (GUI.Button(new Rect(10, 210, 300, 100), "change Portrait")) {
Screen.orientation = ScreenOrientation.Portrait;
}else if (GUI.Button(new Rect(10, 310, 300, 100), "change PortraitUpsideDown")) {
Screen.orientation = ScreenOrientation.PortraitUpsideDown;
}
if (GUI.Button(new Rect(320, 10, 300, 100), "open Keyboard")) {
//打开iphone输入框
//第一个参数 默认显示 test
//第二个参数 设置输入框类型,这里为默认,什么都可以输入
keyboard = iPhoneKeyboard.Open("test",iPhoneKeyboardType.Default);
}
if(keyboard != null){
if (keyboard.done){
//输入完毕后 点击done 输入输入内容
Debug.Log( keyboard.text) ;
}
}
}
}
iPhoneKeyboardType 键盘类型几个比较重要的参数,盆友们可是输入试一试就知道效果啦。我就不截图了~
iPhoneKeyboardType.NumbersAndPunctuation : 输入标点符号与数字
iPhoneKeyboardType.URL:输入网址
iPhoneKeyboardType.PhonePad:输入电话
iPhoneKeyboardType.NumberPad:输入数字
iPhoneKeyboardType.EmailAddress:输入Email
屏幕方向不仅可以感应IOS设备平面4个方向,还可以感应屏幕上下方向。
屏幕面朝上:LandscapeLeft.FaceUp
屏幕面朝下:LandscapeLeft.FaceDown
最后欢迎各位盆友可以和MOMO一起讨论Unity3D游戏开发,总的来说这一章还是比较简单的,代码我就不上传了。哇咔咔~强烈感谢四角线技术大牛~ 我愿和 大家好好学习!!!
分享到:
相关推荐
资源名称:iOS游戏开发之Unity3D引擎系列资源目录:【】Unity3D 游戏引擎之IOS自定义游戏摇杆与飞机平滑的移动【】Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放【】Unity3D 游戏引擎之IOS高级界面发送消息...
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之iOS自定义游戏摇杆与飞机平滑的移动,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之Unity3D回馈IOS高级界面消息,欢迎大家下载阅读,哇咔咔~~ 转与缩放,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之IOS高级界面发送消息与Unity3D消息的接收,欢迎大家下载阅读,哇咔咔~~ 转与缩放,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之平面小球重力感应详解,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之详解游戏开发音频的播放,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D Unity3D 游戏引擎之FBX模型的载入与人物行走动画的播放,欢迎大家下载阅读,哇咔咔~~
用来做unity3d马甲包,CS源码混淆,功能:1、混淆私有函数名,私有变量名 2、函数体垃圾代码注入 3、函数变量名混淆,想免费提供下载,但是不知道怎么被CSDN自动设置5积分了,如果需要请联系作者QQ1367712978,直接...
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之游戏场景的切换与持久化简单数据的储存,欢迎大家下载阅读,哇咔咔~~
Unity3d 调用Ios相册,对图片进行剪彩,然后加载图片到Unity3d RawImage上面,为unity3d 2018.3.0工程
IOS应用源码之IPHONE免费开源3D游戏引擎.zip
问题的产生 这个问题一般发生在项目比较大,OO使用良好,泛型继承用的较多的时候。...具体的解决方法就是在 Unity3D 的编译选项 Player Setting 中有一个 AOT Compilation Options 条目,在这个选项条目中加上
Unity是非常优秀的3d游戏引擎,几乎成为3d开发业界标准工具,本书描述如何使用Unity3d开发IOS游戏,内容适合初学者
Unity3D IOS下保存和读取资源(保存到文件夹目录),在Unity中IOS下将资源读取和保存,保存可以保存到文件夹目录
用于Unity打包移动设备的调试,能够简单快速的查看报错等信息 Unity 在安卓IOS等移动设备环境下的log查看解决方案
一个unity3d,跑酷游戏,你可以用unity打包成iOS或者安卓端的移动游戏
unity接入ios三方sdk,ios开发共享
Unity3d json库 ios上无错,库里没有用到反射
5. 重命名原生项目内的main.m文件后缀为main.mm. 切记 6. 在原生应用的AppDelegate中封装UnityAppController 7.