当前位置: 首页 > news >正文

模板网站建设信息毕业设计做网站简单吗

模板网站建设信息,毕业设计做网站简单吗,茂名网站开发服务商,腾讯学生服务器可以做网站吗我开发的升降梯由三个部分组成#xff0c;反正适用于我的需求了#xff0c;其他人想复用到自己的项目的话#xff0c;不一定。写的也不是很好#xff0c;感觉搞的有点复杂啦。完全可以在优化一下#xff0c;项目赶工期#xff0c;就先这样吧。能用就行#xff0c;其他的…        我开发的升降梯由三个部分组成反正适用于我的需求了其他人想复用到自己的项目的话不一定。写的也不是很好感觉搞的有点复杂啦。完全可以在优化一下项目赶工期就先这样吧。能用就行其他的再说。 1.升降梯基类 using System.Collections; using System.Collections.Generic; using UnityEngine;public abstract class LiftObjCtrBase : MonoBehaviour {public float speed 5f; // 上升和下降的速度public LiftObjCtrBase targetObject; // 指定的物体高度[HideInInspector]public bool isRising false; // 是否正在上升[HideInInspector]public bool isFalling false; // 是否正在下降[HideInInspector]public bool isPlayerStay false; //玩家是否在上面[HideInInspector]public Vector3 initialPosition; // 初始位置[HideInInspector]public float offsetY 0;[HideInInspector]public Transform playerTra;[HideInInspector]public Transform targetTra;[HideInInspector]public float radius 0;// Start is called before the first frame update[HideInInspector]public bool isReach false;public virtual bool isTriggerEnter(Transform playerTra) {if (Vector3.Distance(gameObject.transform.position, playerTra.position) radius){return false;}else{return true;}}public virtual void startRising() {}}2.玩家接触到的头一个升降梯第一个升降梯的碰撞组件必须开启isTrigger属性注意所有升降梯都需要挂碰撞组件 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.TextCore.Text;public class LiftFirstObjCtr : LiftObjCtrBase {//private Transform player; // 角色private void Start(){initialPosition transform.position; // 记录初始位置targetTra targetObject.gameObject.transform;MeshCollider meshCollider gameObject.GetComponentMeshCollider();radius meshCollider.bounds.extents.magnitude;}private void Update(){if (targetObject null) return;if (playerTra ! null !isTriggerEnter(playerTra) !isFalling){isPlayerStay false;isFalling true;isRising false;}if (playerTra !null targetObject.isTriggerEnter(playerTra) !targetObject.isRising !targetObject.isReach){isPlayerStay false;isFalling true;targetObject.startRising();}if (isRising isPlayerStay){// 上升逻辑if (playerTra null || offsetY 0) return;transform.Translate(Vector3.up * speed * Time.deltaTime);playerTra.position new Vector3(playerTra.position.x, transform.position.y offsetY0.4f, playerTra.position.z);// 到达目标高度后开始下降if (transform.position.y targetTra.position.y){gameObject.GetComponentCollider().isTrigger false;isRising false;}}else if (isFalling !isPlayerStay){// 下降逻辑transform.Translate(Vector3.down * speed * Time.deltaTime);// 返回初始位置后停止下降if (transform.position.y initialPosition.y){transform.position initialPosition;isFalling false;gameObject.GetComponentCollider().isTrigger true;}}}private void OnTriggerEnter(UnityEngine.Collider other){if (other.gameObject.tag Player){Debug.Log(玩家撞到升降梯);}}public override bool isTriggerEnter(Transform playerTra) {// 检测角色是否在碰撞器范围内if (Vector3.Distance(gameObject.transform.position, playerTra.position) radius){return false;}else {return true;}}private void OnTriggerStay(UnityEngine.Collider other){if (other.gameObject.tag Player !isPlayerStay){if (Vector3.Distance(other.gameObject.transform.position, gameObject.transform.position) radius) {Debug.Log(玩家待在升降梯);isRising true;playerFollow(other.gameObject);gameObject.GetComponentCollider().isTrigger false;}}}private void OnTriggerExit(UnityEngine.Collider other){}private void playerFollow(GameObject player) {offsetY player.transform.position.y - transform.position.y;playerTra player.transform;isPlayerStay true;}public override void startRising(){} }3.中间的其他升降梯其他中间的升降梯由于是悬浮在空中的所以需要不能开启isTrigger属性否则玩家碰到后就会掉下去 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.TextCore.Text;public class LiftMiddleObjCtr : LiftObjCtrBase {public LiftObjCtrBase preLiftObj;// Update is called once per frameprivate void Start(){initialPosition transform.position; // 记录初始位置targetTra targetObject.transform;MeshCollider meshCollider gameObject.GetComponentMeshCollider();radius meshCollider.bounds.extents.magnitude;}void Update(){if (targetObject null) return;if (playerTra ! null !isTriggerEnter(playerTra) !isFalling){isPlayerStay false;isFalling true;isRising false;return;}if (playerTra ! null targetObject.isTriggerEnter(playerTra) !targetObject.isRising){isPlayerStay false;isFalling true;targetObject.startRising();playerTra null;}if (isRising isPlayerStay){// 上升逻辑if (playerTra null || offsetY 0) return;transform.Translate(Vector3.up * speed * Time.deltaTime);playerTra.position new Vector3(playerTra.position.x, transform.position.y offsetY 0.4f, playerTra.position.z);// 到达目标高度后开始下降if (transform.position.y targetTra.position.y){isRising false;isReach true;}}else if (isFalling !isPlayerStay){// 下降逻辑transform.Translate(Vector3.down * speed * Time.deltaTime);// 返回初始位置后停止下降if (transform.position.y initialPosition.y){transform.position initialPosition;isFalling false;isReach false;isRising false;}}}public override bool isTriggerEnter(Transform playerTra){if (Vector3.Distance(gameObject.transform.position, playerTra.position) radius){return false;}else{return true;}}public override void startRising() {isRising true;playerFollow(preLiftObj.playerTra.gameObject);gameObject.GetComponentCollider().isTrigger false;}private void playerFollow(GameObject player){offsetY player.transform.position.y - transform.position.y;playerTra player.transform;isPlayerStay true;} }4.最后一个升降梯是玩家最终达到的升降梯所以可以不用升降他是出发倒数第二个升降梯的下降感觉有点奇怪反正整个组件都开发的感觉奇奇怪怪的算了算了咱也没啥要求混口饭吃能较差就行 using System.Collections; using System.Collections.Generic; using UnityEngine;public class LiftLastObjCtr : LiftObjCtrBase {// Start is called before the first frame updatepublic LiftMiddleObjCtr middleObject;public override bool isTriggerEnter(Transform playerTra){return false;}public override void startRising(){}// Update is called once per framevoid Update(){if (middleObject ! null middleObject.playerTra ! null) {if (Vector3.Distance(middleObject.playerTra.position,gameObject.transform.position) 1) {if (Vector3.Distance(middleObject.playerTra.position, middleObject.gameObject.transform.position) 1){middleObject.isFalling true;middleObject.isPlayerStay false;}}}}}
http://www.zqtcl.cn/news/391034/

相关文章:

  • 网站开发好还要空间吗网站支付链接怎么做的
  • 网站制作报价图片欣赏杭州做网站价格
  • 帮人家做家务的网站host绑定网站
  • 地方门户网站盈利模式这样做微信网站
  • 企业网站要怎么做wordpress w3
  • 网站备案帐号找回密码seo优化工作有哪些
  • 美橙网站建设教程网站建站系统
  • 湖北网站建设公司哪家好重庆建站模板平台
  • 青岛企业建站最新上线的手游
  • 织梦网站wap精品下载
  • 专业做包装的电商网站搜索推广图片
  • 淘客网站佣金建设怎么制作网站页面
  • 网站数据库 mysql如何构建wordpress
  • 牙克石网站建设宁波pc营销型网站制作
  • 具有营销价值好的网站深圳工程建设服务网
  • 全flash网站源码app软件开发公司员工守则
  • 曹鹏wordpress建站seo视频本溪做网站的公司
  • 提示网站有风险老电脑做网站服务器
  • 怎么做网站导航外链出入青岛最新通知今天
  • 济宁房产网站建设海外电商怎么做如何从零开始
  • 网站优化插件中国建设银采购发文网站
  • 重庆企业网站的推广电力建设集团网站
  • 长沙制作网站词条有哪些网站可以做
  • 网站 网页区别简单的网页设计作品
  • 济南做网站推广有哪些公司天津建设工程信息网官方
  • 番禺市桥网站建设有关网站建设的知识
  • 信用中国 网站 支持建设怎么做网站美工
  • 做网站怎么样引流郑州最好的妇科医院排行
  • 云软件网站建设做仓单的网站
  • 邯郸做移动网站报价注册公司流程流程图