介绍Unity3D cad屏幕区域介绍的哪些事儿

Unity3D操作界面(GUI)详细介绍
日&&&&评论:&&&
&&& 来源:
&&& 本节内容是你3d学习的开始,这里详细介绍 的界面,菜单项,以及多种快捷键、热键的用法,通过本章节的学习,你将能够非常清晰的了解3d的用户GUI操作界面,为你将来的开发奠定基础。下面就让我们一起看下3d的操作界面:
&&&& 学习操作界面(Learning the interface)
&&& 现在我们开始学习,如果你还没有打开 ,你可以通过双击位于 Application-&文件夹中的 图标来运行它,当它第一次运行时你将看到如下的场景:
&&& 运行时的缺省场景,如果你打开过任何实例,你的屏幕会与上图不同有很多需要学习的东西,让我们花费点时间来观察理解上述界面。我们将介绍每一个接口元素。
&&& 概要主窗口的每一个部分都被称为视图(View)。在 中有多种类型的视图,但是,你不需要同时看见所有的视图。不同的布局模式 (Layout modes) 包含的视图是不同的。 通过单击布局下拉控件来选择不同的布局, 该控件位于窗口的右上角。
&&& 布局模式选择下拉列表
&&& 现在,单击布局选择,并单击 Animation,切换到动画布局 (Animation layout)。还可以从菜单中选择 Window-&Layouts-&Animation来切换。动画布局包含所有的视图,下面来介绍它们的方法。
&&& 通过视图左上角的名称你可以迅速的分辨这些视图。这些视图是:场景视图(Scene View)-用于放置物体游戏视图(Game View)-表示游戏在运行时的外观层次视图(Hierarchy)-当前场景中的游戏物体的列表工程视图(Project)-显示当前打开工程中所有可用的物体和资源检视视图(Instpector)-显示当前选中物体的细节和属性时间线(Timeline)-用于为当前选中物体创建基本的时间线动画
&&& 场景视图(Scene View) &&&& 场景视图(Scene View)是一个可交互的沙盘。你将使用它来选择并在场景中定位所有的游戏物体(GameObjects),包括玩家,摄像机,敌人等。在场景视图中操纵并修改物体是 非常重要的功能。这是昀好的通过设计者而不是玩家的角度来查看场景的方法。在场景视图中你可以随意移动并操纵物体,但是你应该知道一些基本的命令以便有效的使用场景视图。
&&& 第一个你应该知道命令是Frame Selected命令。 这个命令将居中显示你当前选中的物体。 你可以在层次视图(Hierarchy)单击任何物体,然后移动你的鼠标到场景视图上并按F键。 场景视图将移动以居中显示当前选择的物体。这个命令是非常有用的,你将在场景编辑的时候经常使用它。
&&&&&&& 工具栏
&&&& 在场景视图中操作在场景视图的上方有一个包含布局模式选择的工具栏。
&&& 尽管现在的工具栏没有附着在场景视图窗口上,但是位于左侧的四个按钮可用来在场景视图中导航并操纵物体,中间的两个用来控制选中的物体轴心如何显示。左边的第一个 View Tool将在以后说明。后面的工具为操纵工具 (Manipulation Tools),中间的两个为手柄位置工具 (Handle Position Tool)
&&& 选中任何操纵工具可允许你交互时的移动,旋转或缩放物体。当你已经选择了一个工具时你可以在场景视图中单击任何一个物体选中它,现在按下 F键使得该物体居中显示。
&&& 如下不同的操纵工具&&&& 平移工具热键 W&&&&&&& 旋转工具热键 E&&&& &&& 缩放工具热键 R
&&& 当选中一个物体时你将看到 Gizmo坐标,每个工具有不同的 Gizmo坐标形式&&&& 平移
&&& 旋转缩放
&&& 点击并拖动当前 Gizmo坐标的任何一个坐标轴以便平移,旋转或缩放当前选中物体的变换 (Transform)组件。你也可以通过单击并拖动 Gizmo坐标的中心来在多个轴上操纵物体。如果你有一个三键的鼠标,你可以通过单击中键来调整昀后调整的轴而不用直接点击它。
&&& 参考变换组件(Transform Component)部分获取更多内容。
&&& 手柄位置工具 (HandlePositionTool) 用来控制物体或一组选中的物体的轴心如何和在哪里显示。&&&& 手柄位置工具
&&& 选择中心(Center)意味着使用当前所选所有物体的共同轴心,选择轴心 (Pivot)意味着将使用各个物体的实际轴心手柄位置设置为中心,使用物体的共同轴心
&&&& 手柄位置设置为轴心,使用实际的物体轴心在场景视图中导航根据使用的鼠标的不同,有很多不同的方式可以在场景视图中导航。
&&& 使用三键鼠标按住 Option按钮并拖动鼠标左键可以使用旋转模式 (Orbit mode)按住 Option按钮并拖动鼠标中键可以使用拖动模式 (Drag mode)按住 Option按钮并拖动鼠标右键可以使用缩放模式 (Zoom mode)。也可以使用滚轮来缩放(略)视图工具模式&&&& 视图工具的拖动模式快捷键 Q
&&& 在拖动模式(Drag Mode)下,在场景视图中单击并拖动鼠标来上下左右移动视图。 旋转(Orbit)和缩放(Zoom Modes) 模式也是昀常用的视图工具。
&&& 视图工具的旋转模式 Option键
&&& 保持视图工具选中并按住Option键即可进入旋转模式。单击并拖动鼠标,可以看到视图是如何旋转的。同时注意视图工具 按钮从手型变成了眼睛。&&&
&&& 视图工具的缩放模式 Command键
&&&& 然后,你可以通过按下 Command按钮进入缩放模式。
&&& 使用视图工具模式并拖动鼠标是基本的场景视图导航方法。
&&& 场景视图控制栏
&&& 所有的视图的顶部都有不同的控制栏 (Control Bar),场景视图控制栏拥有多数选项,并且看起来像下面的样子:&&&& 场景视图控制栏
&&& 第一个下拉菜单为视图选择器。展开它你可以改变当前视图。所有的视图都有这个选择器,如果你想创建自定义的一个界面布局,它是非常有用的&&&& 每个视图都有的视图选择器
&&& 下一个下拉菜单是绘制模式 (Draw Mode)。你可以选择场景视图使用纹理模式,线框模式或者纹理线框模式。这个对你发布游戏是没有任何影响的。&&&& 绘制模式下拉框
&&& 第三个下拉菜单为渲染模式(Render Mode)。你可以选择使用 RGB模式或 Alpha模式。同样这将不会影响游戏发布。渲染模式下拉框
&&& 控制栏中的下一项是一组三键。视图控制栏中的三键
&&& 左边的开关控制普通光照。当该按钮被禁用时,你将看到整个场景中简单光照。当它被启用时,你将看到你放在场景中的光照物体的影响。启用该按钮将允许你在发布游戏时看到游戏中的光照。
&&& 中间的按钮控制各种不同效果的开关,例如场景视图网格 (Scene View Grid),天空盒 (Skyboxes)和 GUI元素(GUI Elements),启用该按钮将允许你在发布看到这些效果。
&&& 右边的按钮控制正交模式 (Orthographic Mode)。打开它将移出所有的景深效果。该按钮不会影响到你发布游戏。正交模式用来精确定位物体。&&&& 景深相机&&& 正交相机。物体不会随着距离的增大而变小,下一个下拉列表是方向(Direction)下拉列表。它将移动场景视图到你选择的方向。&&
&&&&& 你需要使用一个或多个相机(Cameras)来控制玩家在游戏中实际看到的场景。参考相机组件部分。播放按钮和状态栏这个按钮用来在游戏视图中播放,暂停和步进你的游戏。在你构建场景的任何时候,你都可以进入播放模式 (Play Mode)并看看你的游戏是如何工作的。& 下拉列表是层(Layer)下拉列表。你可以使用它来选择不同层的物体。参考层部分。该选项不会影响游戏发布。
&&& 游戏视图(Game View)&&&& 游戏视图-你的游戏的可见部分,游戏视图(Game View)将使用游戏中设置的相机信息来渲染。这个视图显示的是游戏运行过程中你将看到的场景。如果你平移或者旋转场景的主相机,你将看到游戏视图的变化。&&
&&& 播放按钮和状态栏
&&& 按下播放按钮 (Play Button)进入播放模式。当你的场景在播放模式下时,你还可以移动,旋转和删除物体。你也可以改变变量的设置。在播放模式下所做的任何改变都是暂时的,并在你退出播放模式时重置。你可以再次单击播放按钮退出。在播放模式下,你可以停止或步进你的游戏。暂停并检视你的场景是昀好的发现问题的方法。
&&& 右侧的状态栏有多种不同的作用。它将提供上下文敏感信息和提示,错误信息和来自与脚本的输出语句。如果你的游戏有任何问题,查看状态栏将是昀好的发现问题的方法。你可以双击状态栏打开控制台窗口,其中将显示所有的脚本或可见的运行时错误信息。游戏视图控制栏控制栏上紧挨着视图下拉列表的是宽高下拉列表 (Aspect Drop-down)。这里,你可以指定游戏视图窗口的宽高比为不同的值。这将影响到 GUI元素的位置。使用它来测试你的游戏在不同分辨率下的外观。
&&& 控制栏上右边的是 Gizmos按钮(Gizmos Button)。这将确定是否显示 Gizmos坐标
&&& 工程视图(Project View) &&&& 工程视图-存储所有资源:当你创建一个工程时,将生成一组文件夹。其中之一被称为资源(Assets)文件夹。在工程视图(Project View)中可以查看资源文件夹。如果你打开过资源文件夹,你将发现所有的项都将出现在工程视图中。不同的是在工程视图中,你将创建并将物体连接在一起。这些关系将存储在工程文件夹的其他位置。从工程视图中移动资源将维持并更新文件之间的联系。从 Finder中移除资源将断开联系。因此,你应该只使用 Finder来将文件添加到资源文件夹。任何其他对资源的操作都应该在工程视图中进行。
&&& 导入物体一旦你创建了资源(模型,图像,声音或者脚本),你可以使用 Finder将其正确地放置到资源文件夹下。当你做这些的时候 可以处于打开状态。一旦你切换到 ,新的资源将被检测到并自动导入。资源就可以在工程视图中出现。参考资源工作流部分。
&&& 创建资源在控制栏中使用创建下拉列表 (Create Drop-down)来创建你需要的物体。此外你还可以使用 Control+单击或右键在工程视图中单击打开相同的下拉列表。创建下拉列表
&&& 组织工程视图
&& 使用创建下拉列表在工程视图中创建文件夹。然后你可以重命名并使用该文件夹就像在 Finder中一样,并可以在工程视图中将任何资源拖动到文件夹中。例如你可以创建名为 Scripts的文件夹并将所有的脚本文件放置其中。
&&& 在你选中的文件上创建文件夹将创建嵌入式的文件夹。使用嵌入式的文件夹可以保持你的工程视图整洁。
&&& 注意:如果展开或折叠一个目录时按下了 Alt键,所有的子目录都将展开或折叠。
&&& 导入设置在控制栏上有一个导入设置按钮 (Import Settings),位于创建下拉列表的旁边。根据所选资源的不同当该按钮被单击时将在导入设置弹出窗口中显示不同的选项。参考导入资源 (Importing Assets)部分。
&&& 工程视图控制栏设置(Settings)按钮将为当前选择的资源打开导入设置。创建下拉列表将会在你选择的目录下创建项目,创建文件夹是一种快速有效的组织你的工程视图的方法。
&&&&& 层次(Hierarchy)&
&&& 层次视图(Hierarchy)将显示当前打开的 .unity场景文件 (Scene File) 中的所有物体。它用于选择并成组物体。当从场景中添加或删除一个物体时,它将在层次中显示或消失。如果你不能在场景视图中同时看到所有物体,你可以使用层次来选择并检视它们。层次层次视图(Hierarchy)-当前场景中的所有物体
&&& 物体层次
&&& 使用一个称为父化(Parenting)的概念。任何物体都可以成为另一个物体的父或子。一个子物体可以从它的父物体继承移动和旋转。Parenting对于组织场景,角色,接口元素或者保持场景整洁有很大的用处。单击一个物体并将其拖动到另一个物体上可以建立父子关系。你将会看到一个三角显示在新的父物体的左边,现在你可以展开或折叠父以便在层次中查看他的子物体,而不会影响你的游戏。
&&& 显示预设按钮 (Show Prefab Button)
&&& 当位于控制栏 (Control Bar)上的该按钮被启用时,任何一个在层次中选中的预设(Prefab)实例将在工程视图中显示它的一个可视化的参考,如果你在场景中改变预置实例的名称,这是非常有用的。&&&& 检视面板 (Inspector)-选中物体的细节
&&& 检视面板 (Inspector)显示当前选中物体的基本信息,也显示它所包含的组件(Component)和组件的属性。它是用来设置场景中物体属性的地方。当创建一个好玩的游戏时,你将在检视面板上做大量的排错。检视面板 (Inspector)-选中物体的细节
&&& 检视面板显示当前选中物体的基本信息和它的设置:每一个物体都包含许多不同的组件。当你在检视面板中查看物体时,每一个组件都有它自己的昀小标题栏。例如,每一个物体都包含变换组件 (Transform Component)。每个组件的参数和设置都可以在检视面板中修改。
&&& 物体结构在物体内部的组件将定义物体是什么以及做什么。将一个新的物体想成一个空的画布,并且每一个组件都是一个不同画笔。当你组合并设置不同的组件时,你就像在绘制你物体的行为。特定的组件,就像画笔不同的颜色,可以在一起工作的很好。然而其他的一些组件就不能一起工作。可以通过使用组件(Component)菜单来向物体添加组件。
&&& 对于组件的详细信息可以参考组件部分此外,在检视面板中所有的组件都会在它们的名称旁边显示一个问号,单击这个问号可以打开该组件的参考文档。
&&& 时间线(Timeline)视图
&&& 使用时间线(Timeline)视图可以为当前选中物体创建动画。可以导入包含动画的文件,但是你可以使用时间线视图来制作基本的动画而无需使用 3D动作软件。时间线视图将帮助你为物体制作动画,参考动画部分
&&& 调整视图布局
&&& 现在你已经知道了所有不同的视图,你可以重新布局它们布局下拉列表然你选择或保存不同视图布局,尝试选择不同的布局。现在,从下拉列表中选择新布局(New Layout)并给它一个唯一的名称。
&&& 为了自定义布局,你需要分割(Split)和组合(Combine)视图。Control-单击或右键在两个视图的分割线上单击,或者在任何视图的控制栏上。当鼠标变成一个分割线时,你可以单击并拖动鼠标来改变视图的大小。&&&& 一个完全的自定义布局
&&& 你还可以将任何视图切换为全屏模式。将你的鼠标移到视图上并按下空格键(Spacebar),这将临时昀大化当前视图并隐藏所有其他视图。这将允许你在更大的屏幕尺寸上查看更多的细节。再次按下空格键可以切换到普通视图模式下。
标签:上一篇:下一篇:
网友评论:Unity3D操作界面(GUI)详细介绍评论条
您可能还需要关注一下内容:··········
商家:商家:商家:商家:商家:商家:商家:商家:
北京第三维度科技有限公司 版权所有
Beijing The third dimension Inc. All Rights Reserved.
Tel:010-&Mob:(24小时)
Email:& QQ:1.Unity3D介绍
Unity3D是跨平台(IOS、Android、Windows Phone、Windows、Flash、XBOX360、PS3、Wii等)游戏引擎,可以开发2D、2.5D、3D游戏。appstore手机上有1500+款用Unity3D开发的游戏。
什么是游戏引擎?开发简单、高度封装(OpenGL、DirectX)。其他游戏引擎: Cocos2d、UDK、 Unreal Engine 3、 Quest3D&等。
2.为什么使用Unity3D?跨平台;费用便宜(非开源,有免费版)
3.游戏开发常识
游戏术语:
?& 手游(新增长点);网游(捉迷藏OL,U3D);端游(需要下载客户端);页游(WebGame)
?& FPS(First Person Shoot/Frame Per second);MMO( Massively Multiplayer Online,大型多人在线);RPG(虚拟人生,浪漫庄园)
?& 2.5D(用2D模拟出来的3D。中国2D网游占据8成市场);锁定视角3D(视角固定,不足够炫,但是不头晕,开发难度低,建模建3面即可)
?& 第三人称;第一人称;
?& 单机游戏;网络游戏:大公司使用自主引擎,中小公司使用Java开发的 smartfoxserver 、C#开发的Photon(底层C++) 等;
?& 运营商、游戏代理、渠道商:开发商自己要处理推广、支付、打击盗版等,一般和渠道商合作分成。比如《捕鱼达人》android版90%收入来自渠道。Android手机游戏开发的困境,渠道太多,N多打包;
游戏公司分工:策划;美工;程序员;测试;客服等。黑话:主程、主美
4.Unity3D基本使用
?& Hierarchy中Create一个Cube立方体,在Inspector中修改它的Position XYZ为0;
?& 添加一个光源照亮场景Directional light,Position XYZ为(0,2,2);
?& 修改摄像机MainCamera(摄像机看到的就是屏幕看到的)的Position为(0,2,-6),看起来清楚一些
?& Project中Create一个C# Script,编写一个拖动Cube旋转Cube的功能。
?& 把脚本拖到Cube上(拖到Hierarchy中比较准确)。
代码如下:
using UnityE
using System.C
public class CubeControl : MonoBehaviour
//unity3D中常用的几种系统自调用的重要方法
//首先,我们有必要说明一下他们的执行顺序:
//awake--start--update--fixedupdate--lateupdate--OnGUI--reset--onDisable--onDestory
// Start仅在Update函数第一次被调用前调用
void Start()
//每一帧都调用Update()方法
void Update()
//可以在控制台输出上一次调用Update()方法时所用的时间
//Time.deltaTime 它表示距上一次调用Update或FixedUpdate所用的时间,
//因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频:
Debug.Log(Time.deltaTime);
//OnGUI是在渲染和处理GUI事件时调用。比如:你画一个button或label时常常用到它。这意味着OnGUI也是每帧执行一次。
void OnGUI()
//bool isClick = GUI.Button(new Rect(30, 30, 100, 20), "按钮");//返回是否点击了按钮,点击返回true
//if (isClick)
//点击一次,模型绕着x轴旋转Time.deltaTime * 40度
transform.Rotate(new Vector3(Time.deltaTime * 40, 0, 0));
//GUI.RepeatButton 是长按按钮
bool isClick = GUI.RepeatButton(new Rect(30, 30, 100, 20), "按钮");//返回是否点击了按钮,点击返回true
if (isClick)
//点击一次,模型绕着x轴旋转Time.deltaTime * 40度
transform.Rotate(new Vector3(Time.deltaTime * 40, 0, 0));
5.抗锯齿:主菜单&Edit&Project Settings&Quality,AntiAliasing选为4x(越大越平滑但是越占资源)
6.体验跨平台:File&Build Settings,构建为exe、flash,如果有android、ios等开发环境还可以构建为手机软件。
7.脚本基础
C#脚本不支持命名空间,脚本在Project中的显示名称不要加cs,类名要和cs名称一致,所有类继承自MonoBehaviour。跟具体游戏对象无关的脚本可以放到摄像机MainCamera中。不要不正确的给一个游戏对象设置多个脚本对象
初始化不要放到构造函数中,而是放到Start()方法中。
放到游戏对象中的脚本(实例化)可以在Inspector中修改属性,get/set写法属性不被识别,直接public字段就能当属性用,private或者不写修饰符就是私有字段。
8.程序的调试
程序的运行时调试消息输出:Debug.Log(),显示到Console视图(window&console打开)
项目的断点调试:启动MonoDevelop,主菜单Tools&Options&Unity&Debugger的Editor选择Unity开发环境Unity.exe的程序的路径;然后MonoDevelop打开项目(注意Unity不要同时打开这个项目),然后主菜单Run&Run With&Unity Debugger就可以启动调试了。建议使用Debug.Log()调试,优秀程序员的素质。
阅读(...) 评论()&&&&Unity3D的uGUI系统的将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值。如下图所示:
&&&&先以PointerClick为例。这个是用于某点点击事件。其他事件都可以根据相同的办法调用。
&&&&之所以使用PointerClick为例。是因为在最后笔者会提到一个特殊的实现方式。而相比于其他事件类型,有且仅有Click事件存在特殊实现。
&&&&我们要实现事件主要有3种方式:
&&&&方式一:继承基础接口实现
&&&&步骤一:创建ClickObject脚本。继承MonoBehaviour和IPointerClickHandler。
&&&&步骤二:实现public void OnPointerClick(PointerEventData eventData)方法:
&&&&步骤三:创建一个名为Panel_IPointer的空对象。并且将ClickObject脚本附加到对象上。
&&&&步骤四:启动,并点击Panel_IPointer对象。在Console输出如下:
&&&&方式二:Unity3D编辑器操作设置实现
步骤一:创建一个C#脚本。在脚本中添加一个public方法。
步骤二:创建一个命名为Empty的UI对象,用于接收和响应点击事件。创建一个名为Panel的UI对象,用于触发点击事件。
步骤三:Panel对象添加EventTrigger组件," Add New" -& 选择" PointerClick"。将Empty对象拖拽到触发者位置。然后点击"No Function"选择我们写在Test脚本中的OnTestClick事件。
&&&&步骤四:设置好这些之后。我们的事件触发就已经完成了。运行Unity3D。点击窗口中Panel对象。Console输出内容如下:
&&&&方式三:程序动态设置实现
&&&&我们在日常的开发中。可能需要动态的需要变更绑定的事件。那么我们如何才能使用C#代码控制绑定触发事件呢?
&&&&下面我们就介绍代码控制。ScriptControl.cs脚本
1 using System.Collections.G
2 using UnityE
3 using UnityEngine.E
4 using UnityEngine.EventS
6 public class ScriptControl : MonoBehaviour {
// Use this for initialization
void Start ()
var trigger = transform.gameObject.GetComponent&EventTrigger&();
if (trigger == null)
trigger = transform.gameObject.AddComponent&EventTrigger&();
// 实例化delegates
trigger.delegates = new List&EventTrigger.Entry&();
// 定义需要绑定的事件类型。并设置回调函数
EventTrigger.Entry entry = new EventTrigger.Entry();
// 设置 事件类型
entry.eventID = EventTriggerType.PointerC
// 设置回调函数
entry.callback = new EventTrigger.TriggerEvent();
UnityAction&BaseEventData& callback = new UnityAction&BaseEventData&(OnScriptControll);
entry.callback.AddListener(callback);
// 添加事件触发记录到GameObject的事件触发组件
trigger.delegates.Add(entry);
// Update is called once per frame
void Update () {
public void OnScriptControll(BaseEventData arg0)
Debug.Log("Test Click");
&&&&点击事件的特殊实现方式:使用Button控件实现
&&&&针对Click事件还存在一种特殊方式:uGUI系统中官方提供了一种Button控件。Button封装了官方提供的一套OnClick事件。操作完全类似于方式二。便不详述了。
&&&&使用Button我们可以实现动态的变更鼠标绑定的点击事件。如下代码所示:
1 using UnityE
2 using System.C
3 using UnityEngine.UI;
5 public class BtnControl : MonoBehaviour {
// Use this for initialization
void Start ()
var button = transform.gameObject.GetComponent&Button&();
if (button != null)
button.onClick.RemoveAllListeners();
button.onClick.AddListener(TestClick);
public void TestClick()
Debug.Log("Test Click. This is Type 4");
// Update is called once per frame
void Update () {
&&&&相关源码下载:&
作者:TinyZ出处:关于作者:努力学习,天天向上。不断探索学习,提升自身价值。记录经验分享。本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接如有问题,可以通过&&联系我,非常感谢。笔者网店: . 欢迎广大读者围观
阅读(...) 评论()程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity3D研究院之感应IOS设备旋转与iPhone键盘事件(十六)
Unity3D研究院之感应IOS设备旋转与iPhone键盘事件(十六)
围观15434次
编辑日期: 字体:
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 设置屏幕的反转情况
123456789101112131415161718192021222324252627
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;
//处理纵向两个方向的旋转
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输入状态框。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
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;
//强制屏幕横向
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游戏开发,总的来说这一章还是比较简单的,代码我就不上传了。哇咔咔~强烈感谢四角线技术大牛~
我愿和 大家好好学习!!!
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!
Pingback 引用通告:

我要回帖

更多关于 7p屏幕排线介绍 的文章

 

随机推荐