游戏制作一

来源:互联网 发布:淘宝友情链接 编辑:程序博客网 时间:2024/06/06 15:17

Texture 纹理

用于处理贴图的基类。包含的功能被 Texture2D 以及 RenderTexture 所共用。



MonoBehaviourMono行为

1.Start()
    在Update方法被调用之前开始调用Start方法,而且Start方法在整个MonoBehaviour生命周期内只被调用一次。Awake和Start不同的地方在于Start方法仅仅在脚本初始化后被调用,这样允许你延迟加载任何代码,直到代码真正被使用时。Awake方法总是在Start方法执行之前被调用,这样允许你初始化脚本代码。

2.Awake()
    当脚本被加载后立即调用Awake方法,这个方法通常在Start()开始之前声明某些变量或者游戏的状态标记符。同样,Awake也是在MonoBehaviour声明周期内被调用一次。Awake在所有的对象(个人认为是GameObject)实例化后被调用,因此绑定这个脚本的对象能与其他对象之间相互作用,例如,同过GameObjectFindWithTag方法查找其他对象。

3.Update()
    在Start方法执行过后,游戏的每一帧都在调用此方法。

4.FixedUpdate()
    每一帧都在调用此方法。当处理Rigdibody时FixedUpdate应该代替Update方法,比如,当一个物体需要增加一个力时,应该将这个力的代码写在FixedUpdate()里面。
    void FixedUpdate() {
        rigidbody.AddForce(Vector3.up);
    }

5.LateUpdate()
    每一帧都在调用此方法。当每一帧的Update方法全部执行完后,此方法开始被调用。举个例子来说吧,当一个角色移动而摄像机也要跟着移动时,摄像机的处理就应该在LateUpdate()里面了。

6.OnGUI()
    OnGUI()在每一帧被调用数次(several times),假如MonoBehaviour的enabled属性设置为false时,OnGUI()就失去作用了。

7.DontDestroyOnLoad()
    进入另一个场景时,保证绑定此脚本的对象的内存不被释放掉。也就是说绑定此脚本的GameObject在下一个场景中依然存在。


Unity3D的四种坐标系

1、World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。

2、Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕坐标。

  Screen.width = Camera.pixelWidth

  Screen.height = Camera.pixelHeigth

3、ViewPort Space(视口坐标):视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,Z的位置是以相机的世界单位来衡量的。

4、绘制GUI界面的坐标系:这个坐标系与屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)

四种坐标系的转换

1、世界坐标→屏幕坐标:camera.WorldToScreenPoint(transform.position);这样可以将世界坐标转换为屏幕坐标。其中camera为场景中的camera对象。

2、屏幕坐标→视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);这样可以将屏幕坐标转换为视口坐标。其中camera为场景中的camera对象。

3、视口坐标→屏幕坐标:camera.ViewportToScreenPoint();

4、视口坐标→世界坐标:camera.ViewportToWorldPoint();


Screen屏幕

访问显示信息。

width
The current width of the screen window in pixels (Read Only).
以像素单位,屏幕窗口的当前宽度。(只读)


Matrix4x4矩阵

identity
Returns the identity matrix (Read Only).
返回单位矩阵(只读)。
SetTRS
Sets this matrix to a translation, rotation and scaling matrix.
设置这个矩阵为一个平移、旋转和缩放矩阵。



Quaternion四元数

identity
The identity rotation (Read Only). This quaternion corresponds to "no rotation": the object
同一性旋转(只读)。该四元数,相当于"无旋转":这个物体完全对齐于世界或父轴。


GUIStyle界面样式

用于界面元素的样式设置。

name
The name of this GUIStyle. Used for getting them based on name....
这个GUIStyle的名字。用于获取基于名字的样式。
normal
Rendering settings for when the component is displayed normally.
用于该组件正常显示时的渲染设置。
hover
Rendering settings for when the mouse is hovering over the control
用于当鼠标悬停在控件之上时的渲染设置。
active
Rendering settings for when the control is pressed down.
用于当控件被鼠标按下时的渲染设置。


Time时间 

从Unity获取时间信息的接口。

deltaTime
The time in seconds it took to complete the last frame (Read Only).
以秒计算,完成最后一帧的时间(只读)。



GUI

GUI.Button 当用户点击按钮的时候返回true。

也就是说,如果OnGui函数里调用该接口,当返回TRUE时,能接收并处理自己想要的点击事件




PlayerPrefs游戏存档

在游戏会话中储存和访问游戏存档。

SetInt
Sets the value of the preference identified by key.
设置由key确定的参数值。
GetInt
Returns the value corresponding to key in the preference file if it exists.
如果存在,返回偏好文件中key对应的值。



Texture2D二维纹理

纹理处理类。使用这个动态创建纹理或修改现有纹理资源




Input输入

输入系统的接口。

使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据。

注意:每次输入在"Update()"之前不会再更新,所以建议你将所有的输入调用都写在Update方法中。(Update循环中)

想要读取轴向使用Input.GetAxis方法获取下列默认轴: "Horizontal" 和"Vertical" 映射于控制杆、A、W、S、D和箭头键(方向键)。 "Mouse X" 和"Mouse Y" 映射于鼠标,"Fire1", "Fire2" "Fire3"映射于键盘的Ctrl、Alt、Cmd键和鼠标中键或控制器的按钮。新的输入设置可以使用输入管理器来添加。

iOS和Android设备能够支持多点触控。你可以通过Input.touches属性集合访问在最近一帧中触摸在屏幕上的每一根手指的状态数据。


GetKeyDown
Returns true during the frame the user starts pressing down the key identified by name.
当用户按下指定名称的按键时的那一帧返回true。
KeyCode 对应相关按键

touchCount
Number of touches (Read Only).
触摸的数量(只读)。
GetTouch
Returns object representing status of a specific touch (Does not allocate temporary variables).
返回一个存放触摸信息的对象(不允许分配临时变量)。
GetMouseButtonUp
Returns true during the frame the user releases the given mouse button.
在用户释放指定鼠标按键的那一帧返回true。
0 for left button, 1 for right button, 2 for the middle button

mousePosition
The current mouse position in pixel coordinates. (Read Only)
当前所在像素坐标的鼠标位置(只读)。
anyKey
Is any key or mouse button currently held down? (Read Only)
是否有某一按键或鼠标按钮此时被按住?(只读)
acceleration
Last measured linear acceleration of a device in three-dimensional space (Read Only).
最近一次测量的设备在三维空间中的线性加速度(只读)


Touch触摸

用来记录一个手指触摸在屏幕上的状态。

phase
Describes the phase of the touch.
描述触摸的相位。

phase 和 TouchPhase比对,判断触碰方式;

// 手指刚触摸到屏幕的时候  Input.GetTouch(0).phase  == TouchPhase.Began;  // 手指在屏幕上移动  Input.GetTouch(0).phase  == TouchPhase.Moved;  // 手指触摸屏幕,但并未移动  Input.GetTouch(0).phase  == TouchPhase.Stationary;  // 手指从屏幕上移开,这是一个触控的最后状态  Input.GetTouch(0).phase  == TouchPhase.Ended;  // 系统取消追踪触控。这常发生在用户把屏幕放到脸上或者同时触控超过了5根手指,同样也是触控的最后一个状态  Input.GetTouch(0).phase  == TouchPhase.Canceled;  

position
The position of the touch.
触摸的位置。


定向光源
















0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网页邮箱添加不了附件怎么办 pos机密码忘了怎么办 在4楼上课地震了怎么办 微鲸电视待机打不开怎么办 苹果手机微信听不到语音怎么办 电信怎么办腾讯频看电视不要流量 孩子做事效率低怎么办教案 孩子做事效率低怎么办读后感 做事效率低总是焦虑怎么办 红米手机黑屏打不开怎么办 手机萤石云视频下载打不开怎么办 oppo打开网页视频慢怎么办? 晒课显示待提交怎么办 华为手机无法访问移动网络怎么办 晒课上传课堂实录太大怎么办 手机酷狗音乐下载要钱怎么办 手机酷狗下载要钱怎么办 酷我音乐没有声音怎么办 手机酷我音乐没有声音怎么办 酷我音乐歌曲下载收费怎么办 网易云下载超过每日上限怎么办 全民k歌领不了花怎么办 安卓全民k歌延迟怎么办 全民k歌唱歌延迟怎么办 全民k歌耳机延迟怎么办 word文档打开是乱码怎么办 全民k歌不能录音怎么办 全民k歌登录不上怎么办 平果手机迅雷闪退怎么办 电脑打开央视影音死机怎么办 先锋影音二级网页打不开怎么办 手机qq音乐登录失效怎么办 酷狗账号忘记了怎么办 手机qq音乐听不了歌怎么办 第一试用网密码忘了怎么办 玩h1z1画面卡顿怎么办 uu跑腿抢不到单怎么办 比特币加密忘了怎么办 路虎发现cd卡死怎么办 苹果手机帐号被锁定怎么办 苹果手机帐号锁定了怎么办