您好,欢迎访问三七文档
MonoBehaviour类常用的方法Awake()当一个脚本实例被载入时被调用Start()仅在Update函数第一次被调用前调用OnEnable()当脚本处于可用被调用。Update()当MonoBehaviour启用时,每一帧调用一次FixedUpdate()固定时间间隔调用LateUpdate()每一帧调用一次,当Update执行完后被调用//总结//1.按照后添加的脚本先执行的顺序,依次执行每个脚本的OnGUI()渲染和处理GUI事件时调用OnDisable()当脚本组件不可用被调用OnDestroy()当脚本组件被销毁时被调用tag可读写属性,游戏物体的tagname可读写属性,游戏物体的nameFindGameObjectsWithTag(stringtag)静态方法,返回所有tag标识的物体,返回值是个数组TGetComponentT()泛型实例方法,得到T类型的组件(强烈建议使用)SetActive(boolvalue)实例方法,设置游戏物体是否是活动的FindWithTag(stringtag)静态方法,得到tag标识的游戏物体Transform组件变量position世界坐标系中transform的位置localPosition相对于父物体的位置eulerAngles欧拉角,旋转的角度rotation世界坐标系中变换的四元数parent物体父物体的Transform组件root物体最高层次父物体的Transform组件Transform组件方法voidTranslate(Vector3translation)使当前对象朝一个方向移动voidRotate(Vector3eulerAngles)按给定的欧拉角进行旋转voidRotateAround(Vector3point,Vector3axis,floatangle)绕point点沿axis轴旋转angle度TransformFind(stringname)通过名字查找子物体voidLookAt(Transformtarget)使物体朝向target点Time类time从游戏开始到现在所用的时间(只读)deltaTime获取上一次Update()方法执行的时间到本次执行Update()方法时间的差值fixedDeltaTime在物理和其他固定帧速率进行更新上一帧所消耗的时间,以秒计算timeScale表示时间缩放,正常时间为1Vector3(三维向量)normalized标准化向量,方向不变,长度为1(只读)magnitude向量长度(只读)sqrMagnitude向量长度平方(只读)forwardVector3(0,0,1)的简码,Z轴正方向upVector3(0,1,0)的简码,Y轴正方向rightVector3(1,0,0)的简码,X轴正方向voidNormalize()标准化向量,长度为1staticVector3Lerp(Vector3from,Vector3to,floatt)两个向量之间的线性差值staticfloatAngle(Vector3from,Vector3to)两个向量之间的夹角staticfloatDistance(Vector3a,Vector3b)两向量之间的距离Quaternion(四元数)identity该四元数无旋转,常用在代码创建对象LookRotation创建一个旋转,沿着forward(z轴)并且头部沿着upwards(y轴)的约束注视MathfLerp两个浮点数之间进行插值Clamp返回一个限制值Sin计算并返回浮点型的正弦值Cos计算并返回浮点型的余弦值Abs计算并返回指定参数的绝对值Max返回两个值之中最大的值Min返回两个值之中最小的值Sqr返回平方根PI圆周率代码实现父子关系通过属性指定父物体transform.parent=父物体的transform;通过方法指定父物transform.SetParent(父物体的transform);键盘输入常用的方法GetKey按键按下期间返回trueGetKeyDown按键按下的第一帧返回trueGetKeyUp按键松开的第一帧返回trueInput类------键盘输入floathor=Input.GetAxis(Horizontal);floathor=Input.GetAxisInput类------鼠标的属性和方法mousePosition得到当前鼠标位置GetMouseButtonDown鼠标按键按下的第一帧返回trueGetMouseButtonUp鼠标按键松开的第一帧返回trueGetMouseButton鼠标按键按下期间一直返回trueGetAxis(“MouseX”)得到一帧内鼠标在水平方向的移动距离GetAxis(“MouseY”)得到一帧内鼠标在垂直方向的移动距离GetAxis(“MouseScrollWheel”)获取鼠标滚轮的值场景物体的鼠标事件OnMouseDown鼠标在Collider之上,按下鼠标,该事件即被触发OnMouseDrag鼠标在Collider之上,当鼠标拖动时触发OnMouseEnter移动鼠标进入Collider区域的时候,该事件被触发OnMouseExit移动鼠标移出Collider区域的时候,该事件被触发OnMouseOver鼠标处于Collider之上时,每帧都会调用该事件OnMouseUp当鼠标弹起的时候,该事件被触发调用OnMouseUpAsButton当鼠标在同一个Collider上按下又弹起的情况下会触发调用该事件刚体组件常用的属性velocity刚体的速度angularVelocity刚体的角速度drag物体的阻力angularDrag物体的角阻力mass刚体的质量useGravity是否受重力影响isKinematic是否使用动力学freezeRotation是否冻结旋转collisionDetectionMode碰撞检测模式position刚体位置rotation刚体旋转钢体组件常用的方法AddForce给刚体添加一个力AddExplosionForce给刚体添加一个力,模拟爆炸效果AddForceAtPosition在指定的位置添加一个力AddRelativeForce添加相对力AddRelativeTorque添加相对力矩MovePosition使用刚体移动物体到指定位置碰撞器的回调方法OnCollisionEnter(Collisionother)碰撞开始一瞬间被调用OnCollisionStay(Collisionother)一直保持碰撞状态时被调用OnCollisionExit(Collisionother)碰撞分离的一瞬间被调用触发器的回调方法OnTriggerEnter(Colliderother)进入触发器的时候调用一次OnTriggerStay(Colliderother)处于某个触发器之中的时候持续调用OnTriggerExit(Colliderother)退出触发器的时候调用一次射线Rayray=newRay();origin射线发射的原点direction射线发射的方向2D碰撞和触发的回调方法OnCollisionEnter2D(Collision2Dother)刚进行碰撞时调用OnCollisionStay2D(Collision2Dother)一直保持碰撞时调用OnCollisionExit2D(Collision2Dother)碰撞结束时调用OnTriggerEnter2D(Collider2Dother)刚触发时调用OnTriggerStay2D(Collider2Dother)保持触发状态时调用OnTriggerExit2D(Collider2Dother)触发结束时调用GUI自动布局类方法Lable创建一个自动布局的标签Box创建一个自动布局的BoxToggle创建一个自动布局的开头HorizontalSlider创建一个水平滑动条Toolbar创建一个工具栏GUI自定义布局类方法Button创建按钮,点击执行按钮事件,只执行一次RepeatButton鼠标点击不松开,会一直执行按钮事件TextArea创建多行文本区域,编辑字符SelectionGrid创建按钮网格BeginScrollVie滚动视图的开始EndScrollView滚动视图的结束,要与Begin成对出现Window创建一个弹出窗口UGUI的回调方法voidOnPointerEnter(PointerEventDataeventData)IPointerEnterHandle鼠标进入voidOnPointerExit(PointerEventDataeventData)IPointerExitHandler鼠标离开voidOnPointerDown(PointerEventDataeventData)IPointerDownHandler鼠标点下voidOnPointerUp(PointerEventDataeventData)IPointerUpHandler鼠标抬起voidOnPointerClick(PointerEventDataeventData)IPointerClickHandler鼠标点击voidOnBeginDrag(PointerEventDataeventData)IBeginDragHandler开始拖拽voidOnDrag(PointerEventDataeventData)IDragHandler拖拽中voidOnEndDrag(PointerEventDataeventData)IEndDragHandler结束拖拽Application类常用方法和变量platform返回游戏运行平台runInBackgruond应用程序是否在后台运行dataPath游戏数据文件夹的路径persistentDataPath一个持久数据目录的路径temporaryCachePath临时数据/缓存目录的路径loadedLevel加载的关卡(场景)索引CaptureScreenshot截屏,以PNG格式存在路径filenameOpenURL在当前设备中调用浏览器打开网页Quit退出应用程序Animator类SetFloat/GetFloat设置/获取float类型参数的值SetTrigger设置一次触发GetCurrentAnimatorStateInfo获取当前层的状态机信息IsInTransition判断是否在执行动画过度StringToHash返回状态机所代表的Hash值使用代码控制状态机首先,需要得到状态参数的散列表ID和Animator组件获取状态参数的散列表IDintspeedFloat=Animator.stringToHash(“Speed”);intdeadBool=Animator.stringToHash(“Dead”);然后,通过SetXxxxx函数改变状态参数的值改变Float类型状态参数的值animator.SetFloat(speedFloat,2.0f);改变Bool类型状态参数的值animator.SetFloat(deadBool,true);NavMeshAgent(导航)autoTraverseOffMeshLink到达跳跃点是否执行跳跃currentOffMeshLinkData当前连接数据desiredVelocity期望速度destination寻路目标remainingDistance到达目标的剩余距离stoppingDistance距离目标点队员停止updatePosition自动更新位置updateRotation自动更新旋转粒子系统Clear清除粒子系统里面的所有粒子Emit立即发射指定数量的粒子IsAlive判断系统中是否还有粒子(或者产生更多粒子)Pause暂停粒子系统的播放Play播放粒子系统Simulate在给定的时间周期内快进仿真粒子系统,然后暂停它Stop暂停播放粒子系统实现碰撞的方法voidOnParticleC
本文标题:Unity基础
链接地址:https://www.777doc.com/doc-5229404 .html