Unity界面入门教程
1. 教程目的
如果你刚刚接触Unity,这个将是你阅读的第一个教程.这将讲解Unity的界面和如何在三维空间中创建
基本的游戏对象.
为了说明Unity界面的要素,我们将创建一个角在地面上走动的简单的场景.
注: 如果需要实际操作的文字,会被加”-”前缀.
2. 屏幕布局
在开始之前,让我们确定屏幕布局在2 Split模式.
- 想这样,选择Window->Layouts->2 Split.你的视图现在分成5个主要区域:
1. 场景视图(Scene View) – 用于摆放游戏对象 2. 游戏视图(Game View) – 将显示游戏运行后的样子.
3. 层次视图(Hierarchy View) – 这将列出所有在目前场景视图中用到的游戏对象.
4. 项目视图(Project View) – 这个视图将显示资源目录下所有可用的资源列表(像调板).
5. 检视视图(Inspector View) – 显示所选中游戏对象的属性信息.
如果你刚刚接触Unity,这个将是你阅读的第一个教程.这将讲解Unity的界面和如何在三维空间中创建
基本的游戏对象.
为了说明Unity界面的要素,我们将创建一个角在地面上走动的简单的场景.
注: 如果需要实际操作的文字,会被加”-”前缀.
2. 屏幕布局
在开始之前,让我们确定屏幕布局在2 Split模式.
- 想这样,选择Window->Layouts->2 Split.你的视图现在分成5个主要区域:
1. 场景视图(Scene View) – 用于摆放游戏对象 2. 游戏视图(Game View) – 将显示游戏运行后的样子.
3. 层次视图(Hierarchy View) – 这将列出所有在目前场景视图中用到的游戏对象.
4. 项目视图(Project View) – 这个视图将显示资源目录下所有可用的资源列表(像调板).
5. 检视视图(Inspector View) – 显示所选中游戏对象的属性信息.
3. 在3D空间查游戏对象
- 启动Unity,我们将开始建立一个新的项目.
- 从主菜单选择File->New Project,设定名字为” GUI
Tutorial”并点击Create Project按钮.Unity将导入资源(assets)(例如声音,纹理,模型)因此他们是可用
的.
一旦导入完成你就会看到你的游戏场景.目前,场景中仅包含一个主相机(这是默认的),你能从层次视图
看到这个唯一的项.
- 如果在场景视图中看不到相机,在层次视图中点击主相机(Main Camera),然后移动光标到场景视图
内,按F(frame select)键,主相机将显示在场景视图的中心.这个技巧能用来查任何游戏对象.
- 可以从场景视图或者在层次视图中选择任何游戏对象.如果你在场景视图单击一个对象,你可以从层
- 启动Unity,我们将开始建立一个新的项目.
- 从主菜单选择File->New Project,设定名字为” GUI
Tutorial”并点击Create Project按钮.Unity将导入资源(assets)(例如声音,纹理,模型)因此他们是可用
的.
一旦导入完成你就会看到你的游戏场景.目前,场景中仅包含一个主相机(这是默认的),你能从层次视图
看到这个唯一的项.
- 如果在场景视图中看不到相机,在层次视图中点击主相机(Main Camera),然后移动光标到场景视图
内,按F(frame select)键,主相机将显示在场景视图的中心.这个技巧能用来查任何游戏对象.
- 可以从场景视图或者在层次视图中选择任何游戏对象.如果你在场景视图单击一个对象,你可以从层
次视图中高亮显示的项来确定你的选择.
4. 创建游戏对象
让我们加入一些游戏对象到我们的场景.
- 选择Game Object->Create Other->Plane, 这将创建一个平面(一个2D面片)供角行走.
- 添加一个立方体到游戏世界,选择Game Object->Create Other->Cube.
- 添加一个点光源,选择Game Object->Create Other->Point Light.
5. 场景视图导航
你可以用下列方法从任何角度查看3D模型:
1. 旋转 (Option+鼠标左键)
2. 平移 (Option+鼠标中键)
3. 缩放 (Option+鼠标右键)
注: 在Mac键盘上Command键的旁边是Option键旁边.
如果你是单键鼠标,或者使用笔记本电脑,你仍然可以轻松浏览,首先按一下左上角的手型工具,然后用:
1. 旋转 (Option+鼠标左键)
4. 创建游戏对象
让我们加入一些游戏对象到我们的场景.
- 选择Game Object->Create Other->Plane, 这将创建一个平面(一个2D面片)供角行走.
- 添加一个立方体到游戏世界,选择Game Object->Create Other->Cube.
- 添加一个点光源,选择Game Object->Create Other->Point Light.
5. 场景视图导航
你可以用下列方法从任何角度查看3D模型:
1. 旋转 (Option+鼠标左键)
2. 平移 (Option+鼠标中键)
3. 缩放 (Option+鼠标右键)
注: 在Mac键盘上Command键的旁边是Option键旁边.
如果你是单键鼠标,或者使用笔记本电脑,你仍然可以轻松浏览,首先按一下左上角的手型工具,然后用:
1. 旋转 (Option+鼠标左键)
2. 平移 (鼠标左键unity 教程)
3. 缩放 (Command+鼠标左键)
- 现在试试它.
6. 移动游戏对象
你可以用下面的方法移动三维空间中任何游戏对象:
1. 移动工具(快捷键W). 选中任何游戏对象,然后按W键,将显示
三个箭头,红是X轴,绿的是Y轴,蓝是Z轴,即红绿蓝对应x,y,z.
要移动一个对象,左键点击一个箭头并做适当的移动.你移动的同
时在监视面板中也佟刚的改变.你可以同样键入数值在三个文本
框.
你能同样重定位游戏对象,首先点击它,然后把相机指向你所希望
移动到的大概方向,然后选择Game Object-> Align with View.
所选择的游戏对象将移动到相机所指向的那里.
3. 缩放 (Command+鼠标左键)
- 现在试试它.
6. 移动游戏对象
你可以用下面的方法移动三维空间中任何游戏对象:
1. 移动工具(快捷键W). 选中任何游戏对象,然后按W键,将显示
三个箭头,红是X轴,绿的是Y轴,蓝是Z轴,即红绿蓝对应x,y,z.
要移动一个对象,左键点击一个箭头并做适当的移动.你移动的同
时在监视面板中也佟刚的改变.你可以同样键入数值在三个文本
框.
你能同样重定位游戏对象,首先点击它,然后把相机指向你所希望
移动到的大概方向,然后选择Game Object-> Align with View.
所选择的游戏对象将移动到相机所指向的那里.
2. 旋转工具(快捷键E). 选中任何游戏对象然后按E键,将显示
选择工具.单击左侧的旋转轴后并移动鼠标来旋转游戏对象.当
你旋转对象的同时在检视面板中也同样的会看到旋转值改变.你
也可以在文本框里直接输入数值.
-让我们做个小联系.移动Cube(移动工具)使其不在场景视图中.
用Frame Select(在层次视图中选中Cube并按下F键)来到这
个对象.最后移动Cube到平面上.
- 移动点光源到Cube和平面附近.
7. 游戏视图
游戏视图将显示游戏运行的样子(完整的纹理,照明等).如果你
无法在游戏视图中看到你游戏场景,那是因为你的相机没有
到正确的朝向.
- 单机主相机(Main Camera),你会发现出现一个倒金字塔线框.这就是相机的视角(它的视野).如果
视野方向没有指向你的游戏对象,在场景视图里导航到你的游戏对象,选择主相机并选择Game
Object->Align With View .你的游戏视图现在会匹配你的场景视图.你同样可以通过移动和选择工具
来调整设置相机,或者在检视视图改变transform值.你可以同样移动灯光到最美的位置.
8. 缩放游戏对象
要缩放一个对象首先要选择它并按下R键(缩放工具).你将看到缩放手柄,拖拽每个轴上的末端方块来
缩放对象.或者检视视图键入精确的数值.
我们现在缩放游戏场景中的一些对象.
- 选择plane并在检视视图中设置它的x和z的缩放值到10(在第一个和第三个文本框里,第二个为y
值).
- 选择cube,在视图上沿着y轴缩放它(按下R键并拖拽绿小方块).cube现在看起来会像柱子.
-
Object->Align With View .你的游戏视图现在会匹配你的场景视图.你同样可以通过移动和选择工具
来调整设置相机,或者在检视视图改变transform值.你可以同样移动灯光到最美的位置.
8. 缩放游戏对象
要缩放一个对象首先要选择它并按下R键(缩放工具).你将看到缩放手柄,拖拽每个轴上的末端方块来
缩放对象.或者检视视图键入精确的数值.
我们现在缩放游戏场景中的一些对象.
- 选择plane并在检视视图中设置它的x和z的缩放值到10(在第一个和第三个文本框里,第二个为y
值).
- 选择cube,在视图上沿着y轴缩放它(按下R键并拖拽绿小方块).cube现在看起来会像柱子.
-
重命名cube为” Pillar”.在层次视图中选择它并按下回车键输入新的名称.记住,游戏对象的名称的首
写最好是大写字母.
9. 资源使用
电脑游戏是由三维模型,纹理,声音文件,游戏代码等构成,这些被称作为游戏的资源(assets).Unity已包含有标准资源包(甚至是专业版资源包).
我们将从内置的资源中添加一个角到我们的游戏场景.在项目视图中展开标准资源(StandardAssets)文件夹,预设(prefab)是将游戏对象预组装到一个逻辑分组里.你应该在预设文件夹内看到第一人称控制器(FPS Controller).
- 拖拽第一人称控制器到场景视图.注意看游戏视图的变化,这是因为第一人称控制器预设里包含自己的相机,将替换主相机的视野.确保第一人称控制器没有陷入plane对象之下,移动它到plane上.
- 删除主相机(Main Camera),因为现在我们不需要它了(Command+delete).游戏视图中现在显示的
将是Player在游戏里所看的视角. - 点击播放按钮启动游戏.
写最好是大写字母.
9. 资源使用
电脑游戏是由三维模型,纹理,声音文件,游戏代码等构成,这些被称作为游戏的资源(assets).Unity已包含有标准资源包(甚至是专业版资源包).
我们将从内置的资源中添加一个角到我们的游戏场景.在项目视图中展开标准资源(StandardAssets)文件夹,预设(prefab)是将游戏对象预组装到一个逻辑分组里.你应该在预设文件夹内看到第一人称控制器(FPS Controller).
- 拖拽第一人称控制器到场景视图.注意看游戏视图的变化,这是因为第一人称控制器预设里包含自己的相机,将替换主相机的视野.确保第一人称控制器没有陷入plane对象之下,移动它到plane上.
- 删除主相机(Main Camera),因为现在我们不需要它了(Command+delete).游戏视图中现在显示的
将是Player在游戏里所看的视角. - 点击播放按钮启动游戏.
注意保持软件界面布局,这样你就可以在场景视图和游戏视图观察游戏.使用光标键(或W,S,A,D)在场
景中行走,用鼠标环顾四周和按下空格是跳跃.
- 任何时候可以再次点击播放按钮停止游戏运行.
注: 在当光标处于任何视图(游戏视图,场景视图等)内的时候按下空格键,这将是该视图最大化.有助于
更好的在场景视图中做调整或在游戏视图中玩游戏.在最大化的视图中再次按下空格键返回以前的布
局模式.注意这个功能在游戏正在运行时候不能正常工作,必须先停止或暂停游戏.
10. 添加组件
游戏对象能有若干个组件(或行为)
组合而成.点击任何游戏对象,你能
在检视视图看到它所附件的组件.
如Transform,Box Collider等等.
- 点击Pillar,在检视视图中查看它
景中行走,用鼠标环顾四周和按下空格是跳跃.
- 任何时候可以再次点击播放按钮停止游戏运行.
注: 在当光标处于任何视图(游戏视图,场景视图等)内的时候按下空格键,这将是该视图最大化.有助于
更好的在场景视图中做调整或在游戏视图中玩游戏.在最大化的视图中再次按下空格键返回以前的布
局模式.注意这个功能在游戏正在运行时候不能正常工作,必须先停止或暂停游戏.
10. 添加组件
游戏对象能有若干个组件(或行为)
组合而成.点击任何游戏对象,你能
在检视视图看到它所附件的组件.
如Transform,Box Collider等等.
- 点击Pillar,在检视视图中查看它
的组件.
让我们再添加另一个cube和加一
个额外的组件.
- 添加一个cube到场景中 (Game
Object->Create Other->Cube). 在
层次视图重命名为”
PhysicsCube”.
现在我们要添加一个刚体
(Rigidbody)组件到这个cube.刚体
(RigidBody)组件允许游戏对象拥
有一个重力,即对象将会向下下降,
知道碰到含有碰撞(collider)组件的物体为止.
- 确保选中PhysicsCube,选择Component->Physics->Rigidbody.这将添加刚体组件到当前所选择的
游戏对象.注意在检视面板中也会看到刚体组件被添加.
-
让我们再添加另一个cube和加一
个额外的组件.
- 添加一个cube到场景中 (Game
Object->Create Other->Cube). 在
层次视图重命名为”
PhysicsCube”.
现在我们要添加一个刚体
(Rigidbody)组件到这个cube.刚体
(RigidBody)组件允许游戏对象拥
有一个重力,即对象将会向下下降,
知道碰到含有碰撞(collider)组件的物体为止.
- 确保选中PhysicsCube,选择Component->Physics->Rigidbody.这将添加刚体组件到当前所选择的
游戏对象.注意在检视面板中也会看到刚体组件被添加.
-
移动PhysicsCube到Pillar旁边,不要距离太远(如图).我们将实现按下播放键的时候PhysicsCube将
碰撞Pillar并落在地上.
- 按播放键, PhysicsCube应该与Pillar相撞并落在plane上.
11. 复制
复制游戏对象是一个强大的功能.当复制一个对象,它所有的功能和行为也会被复制.这是在场景中创
建多个相同对象的非常快捷的方法.我们现在添加更多的PhysicsCubes到我们的场景中. - 单击PhysicsCube和按下Command+D(或者从Edit菜单做这个). 注意在层次视图中将多出一个
PhysicsCube项,但是你不能在场景视图中发现它,因为它和场景中原有的PhysicsCube是重叠在一起
的.
- 使用移动工具(W)向上(y轴)移动新的PhysicsCube.
-
碰撞Pillar并落在地上.
- 按播放键, PhysicsCube应该与Pillar相撞并落在plane上.
11. 复制
复制游戏对象是一个强大的功能.当复制一个对象,它所有的功能和行为也会被复制.这是在场景中创
建多个相同对象的非常快捷的方法.我们现在添加更多的PhysicsCubes到我们的场景中. - 单击PhysicsCube和按下Command+D(或者从Edit菜单做这个). 注意在层次视图中将多出一个
PhysicsCube项,但是你不能在场景视图中发现它,因为它和场景中原有的PhysicsCube是重叠在一起
的.
- 使用移动工具(W)向上(y轴)移动新的PhysicsCube.
-
重复该过程,复制出3个PhysicsCube(如图).
- 运行游戏,三个PhysicsCube对象能相互碰撞动作.
此教程介绍了Unity的基本界面知识.你现在应该去看看脚本教程.
- 运行游戏,三个PhysicsCube对象能相互碰撞动作.
此教程介绍了Unity的基本界面知识.你现在应该去看看脚本教程.
Unity界面入门(1)
2010-07-06 10:41
严格地说,既然是界面入门,一定是少不了图片的.但是无奈cartoonboy是在记事本上完成的,就请多多见谅了.
Unity界面入门
1.目标
如果我们刚刚接触Unity,或许我们应该把这个视为第一个教程.这里我们将讲解Unity的界面和如何在三维空间中创建基本的游戏对象.
为了更形象的说明,我们将创建一个简单的场景并且让一个角在地面上行走.
2.界面布局
在开始之前,我们先设定界面布局为2Split模式.
-
Unity界面入门
1.目标
如果我们刚刚接触Unity,或许我们应该把这个视为第一个教程.这里我们将讲解Unity的界面和如何在三维空间中创建基本的游戏对象.
为了更形象的说明,我们将创建一个简单的场景并且让一个角在地面上行走.
2.界面布局
在开始之前,我们先设定界面布局为2Split模式.
-
选择菜单栏Window->Layouts->2 by 3.这时我们的界面分成了5个主要区域:
1.Scene场景,用于摆放游戏对象
2.Game游戏,用于显示游戏运行后的样子.
3.Hierarchy层次,用于列出所有在目前场景中用到的对象.
4.Project项目,用于显示资源目录下所有可用的资源列表.
5.Inspector检视,用于显示所选中游戏对象的属性信息.
3.在3D空间查游戏对象
-启动Unity,我们来新建一个项目.选择菜单栏File->New Project,指定路径并起名.如:GUITutorial.点击Create Project按钮.Unity将导入资源(assets),诸如:声音,图片,模型之类的文件.
一旦导入完成我们就会看到游戏场景.目前,这里只有一个主相机(默认),我们能从Hierarchy中看到它.
这里有个非常非常有用的技巧可以查任何对象:如果我们看不到某个对象,然而我们确实创建了它,就可以在Hierarchy选中对象并把鼠标移至(可不是拖拽!)场景内,按F键,这个对象就会显示在场景的中心.
1.Scene场景,用于摆放游戏对象
2.Game游戏,用于显示游戏运行后的样子.
3.Hierarchy层次,用于列出所有在目前场景中用到的对象.
4.Project项目,用于显示资源目录下所有可用的资源列表.
5.Inspector检视,用于显示所选中游戏对象的属性信息.
3.在3D空间查游戏对象
-启动Unity,我们来新建一个项目.选择菜单栏File->New Project,指定路径并起名.如:GUITutorial.点击Create Project按钮.Unity将导入资源(assets),诸如:声音,图片,模型之类的文件.
一旦导入完成我们就会看到游戏场景.目前,这里只有一个主相机(默认),我们能从Hierarchy中看到它.
这里有个非常非常有用的技巧可以查任何对象:如果我们看不到某个对象,然而我们确实创建了它,就可以在Hierarchy选中对象并把鼠标移至(可不是拖拽!)场景内,按F键,这个对象就会显示在场景的中心.
当我们在场景Scene中单击一个对象,Unity将从Hierarchy中高亮显示.
4.创建游戏对象
让我们加入些游戏对象到场景.
-菜单栏Game Object->Create Other->Plane,这将创建一个平面.
-菜单栏Game Object->Create Other->Cube,创建一个立方体.
-菜单栏Game Object->Create Other->Point Light,创建一个点光源.
5.场景面板导航(这种说法总觉得别扭)
我们可以用以下方法从任何角度查看3D模型:
1.旋转(Alt+左键)
2.平移(Alt+中键)
3.缩放(Alt+右键)
注意:这里说的是Windows系统,不是美丽的,优雅的,高贵的Mac系统.
6.移动游戏对象
我们可以用下面的方法移动三维空间中的任何对象:
1.移动工具(快捷键W).选中物体,按W键,将显示3个箭头,红X轴,绿Y轴,蓝Z轴.鼠标点
4.创建游戏对象
让我们加入些游戏对象到场景.
-菜单栏Game Object->Create Other->Plane,这将创建一个平面.
-菜单栏Game Object->Create Other->Cube,创建一个立方体.
-菜单栏Game Object->Create Other->Point Light,创建一个点光源.
5.场景面板导航(这种说法总觉得别扭)
我们可以用以下方法从任何角度查看3D模型:
1.旋转(Alt+左键)
2.平移(Alt+中键)
3.缩放(Alt+右键)
注意:这里说的是Windows系统,不是美丽的,优雅的,高贵的Mac系统.
6.移动游戏对象
我们可以用下面的方法移动三维空间中的任何对象:
1.移动工具(快捷键W).选中物体,按W键,将显示3个箭头,红X轴,绿Y轴,蓝Z轴.鼠标点
击可移动.在GameObject中有一个Align with view,经过多次试验,验证出它的作用是将被选物体,以Scene窗口为参照,重置其位置.准确的说,这个位置就是能映像为当前Scene窗口画面的摄像机的位置.而Move with view则是将物体重置到Scene的正中.(多次实践会有深刻理解)
2.旋转工具(快捷键E).选中物体后按E键.物体会被3的线包围.我们可以通过鼠标旋转物体,也可以通过在Inspector检视面板中输入数值来旋转物体.
7.游戏面板
游戏面板将显示游戏运行的样子(完整的纹理,照明等).如果我们无法在游戏面板中看到我们的游戏,那是因为相机没有到正确的朝向.
-单击相机,你会发现它的视角.如果视野方向没有指向你的物体对象,那么你可以点击物体后,选择GameObject->Align With View.(快捷键Ctrl+shift+F).同样你也可以通过其他手动方法进行调整.
2.旋转工具(快捷键E).选中物体后按E键.物体会被3的线包围.我们可以通过鼠标旋转物体,也可以通过在Inspector检视面板中输入数值来旋转物体.
7.游戏面板
游戏面板将显示游戏运行的样子(完整的纹理,照明等).如果我们无法在游戏面板中看到我们的游戏,那是因为相机没有到正确的朝向.
-单击相机,你会发现它的视角.如果视野方向没有指向你的物体对象,那么你可以点击物体后,选择GameObject->Align With View.(快捷键Ctrl+shift+F).同样你也可以通过其他手动方法进行调整.
8.缩放游戏对象
缩放一个物体首先要点选它并按下缩放键(快捷键R).我们可以用鼠标来拖拽3手柄或在Inspector面板中输入数值来缩放物体对象.
缩放一个物体首先要点选它并按下缩放键(快捷键R).我们可以用鼠标来拖拽3手柄或在Inspector面板中输入数值来缩放物体对象.
9.资源使用
我们的游戏一般由模型,纹理,声音,脚本等等构成,这些被称为资源(assets).Unity已包含有标准资源包(专业版另有专业包).
我们将从内置的资源中添加一个对象到游戏场景.在Project面板中展开Standard Assets文件夹,展开预设(Prefabs),我们会看到第一人称控制器First Person Controller.
-拖拽这个控制器到Scene中.注意看Game面板的变化,这是由于第一人称控制器(以下简称FPC)包含自己的相机,会替换主相机的视野.移动FPC到Plane之上.
-删除主相机(Main Camera),因为它已没有任何作用.
-运行.你可以使用方向键或w,s,a,d在场景中行走,或用鼠标环顾四周或按空格键跳跃.
注意:在游戏停止状态,空格键可以最大化鼠标点击过的面板.
10.添加组件
游戏对象有若干组件(或行为)组成.单击任何对象,你将在检视面板中看到它的组件.如Transform,BoxCollider等等.
-创建一个Cube到场景,怎么做的?GameObject->CreateOther->Cube.重命名为PhysicsCube.
-
我们的游戏一般由模型,纹理,声音,脚本等等构成,这些被称为资源(assets).Unity已包含有标准资源包(专业版另有专业包).
我们将从内置的资源中添加一个对象到游戏场景.在Project面板中展开Standard Assets文件夹,展开预设(Prefabs),我们会看到第一人称控制器First Person Controller.
-拖拽这个控制器到Scene中.注意看Game面板的变化,这是由于第一人称控制器(以下简称FPC)包含自己的相机,会替换主相机的视野.移动FPC到Plane之上.
-删除主相机(Main Camera),因为它已没有任何作用.
-运行.你可以使用方向键或w,s,a,d在场景中行走,或用鼠标环顾四周或按空格键跳跃.
注意:在游戏停止状态,空格键可以最大化鼠标点击过的面板.
10.添加组件
游戏对象有若干组件(或行为)组成.单击任何对象,你将在检视面板中看到它的组件.如Transform,BoxCollider等等.
-创建一个Cube到场景,怎么做的?GameObject->CreateOther->Cube.重命名为PhysicsCube.
-
添加Rigidbody(刚体)组件到PhysicsCube.使PhysicsCube有一个重力,直到碰到含有碰撞器(collider)组件的物体为止.选中PhysicsCube,选择菜单栏Component->Physics->Rigidbody.
-运行.一个箱子落了下.
11.复制
复制一个对象,它所有的功能和行为都会被复制.这是快捷创建多个相同对象的方法.我们现在添加更多的PhysicsCube到场景中.
-单击PhysicsCube.按Ctrl+D.
-新复制的对象会与被复制对象重叠.所以我们需要移动它才能看到.
-多复制几个.
-运行.
这里我们对Unity界面有了基本认识,或许可以考虑进一步的学习了.
-运行.一个箱子落了下.
11.复制
复制一个对象,它所有的功能和行为都会被复制.这是快捷创建多个相同对象的方法.我们现在添加更多的PhysicsCube到场景中.
-单击PhysicsCube.按Ctrl+D.
-新复制的对象会与被复制对象重叠.所以我们需要移动它才能看到.
-多复制几个.
-运行.
这里我们对Unity界面有了基本认识,或许可以考虑进一步的学习了.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论