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

公共网站怎地做产品代理推广方案

公共网站怎地做,产品代理推广方案,石家庄今天最新疫情新闻,北京住房和城乡建设委员会门户网站砰砰叫,谁动了她的奶酪让你的小鹿乱撞了。基于此,亦即碰撞与触发的过程。 碰撞器与触发器的区别 通俗点讲,碰撞器检测碰撞,触发器检测触发,讲了跟没讲似的。碰撞器是用来检测碰撞事件的,在unity中&#xff…

砰砰叫,谁动了她的奶酪让你的小鹿乱撞了。基于此,亦即碰撞与触发的过程。

碰撞器与触发器的区别

通俗点讲,碰撞器检测碰撞,触发器检测触发,讲了跟没讲似的。碰撞器是用来检测碰撞事件的,在unity中,两个物体能检测到碰撞的前提是两个物体都有碰撞器,且至少有一个是刚体,在引擎中,很多时候都用到了碰撞与交互。 而触发器是碰撞器的一种,一旦勾选了触发器就检测不到碰撞了,这就是碰撞器与触发器的主要区别,触发器可以实现很多物体之间产生的交互效果,而不想用碰撞检测即两物体是穿透的。就比如你跟你的npy擦肩而过,念念不忘是不是一种触发,你跟ta刚好碰到的那一刻脸红了是不是一种碰撞。物体间触发过程能产生一些事件,而碰撞过程就不只是会产生一些事件,还有物体间的接触。 

碰撞小球与触发小球 

实验内容:

1. 新建工程,导入附件中的资源包“Physics.unitypackage”,打开场景physics,场景可以实现通过键盘控制绿色小球左右移动。尝试理解脚本GroundMove和BallController的逻辑,并给脚本加上注释。

2. 在Unity的资源商店中下载一个免费的音频资源并导入到工程中。

3. 在场景中的地板增加若干球体、立方体,通过调整球体和立方体的属性,使得部分物体可碰撞,部分物体可触发。移动绿色小球来拦截这些物体,使得碰撞时通过OnCollisionEnter播放一种音效,并销毁被碰撞的物体;经过可触发对象时通过OnTriggerEnter播放另一种音效,并将该物体的颜色改为红色。

4. 选做:给地板增加贴图、给游戏增加UI来记录碰撞的次数和触发的次数。

提示:

  1)给小球增加声音组件,component->audio->audio source,并实现音频播放功能。

  2)将两个不同的声音片段分别拖到Inspector面板中脚本的SC_Sound和E_Sound处。

  3)后面增加的球体、立方体等根据需要增加刚体组件并调整isTrigger属性、重力属性等相关属性。

  4)给小球的脚本增加相关的事件处理函数。

先导入资源包,然后观察刚体与碰撞体。注意一下,碰撞检测中的至少一个是刚体指的是普通刚体碰撞体。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class GroundMove : MonoBehaviour
{public float moveSpeed = 5f;//控制地板移动的速度private Vector3 startPos;void Start(){startPos = transform.position;//地板的初始位置}void FixedUpdate(){// 地板向摄像机方向移动transform.Translate(Vector3.back * moveSpeed * Time.deltaTime);//往后移,即z轴负方向// 如果地板移出摄像机视野范围,则重新生成在起始位置if (transform.position.z < Camera.main.transform.position.z)//检查地板是否移出了摄像机的视野范围{transform.position = startPos;//循环移动}}
}
using UnityEngine;public class BallController : MonoBehaviour
{public float moveSpeed = 5f;//控制球体的移动速度,并设置默认值为5public float maxDistance = 2.4f;//限制球体移动的最大距离,并设置默认值为2.4void FixedUpdate(){float moveInput = Input.GetAxis("Horizontal");//获取水平方向上的输入,表示左右方向键的按下情况//根据水平输入、移动速度和时间间隔计算出球体应该移动到的目标位置。Vector3 targetPosition = transform.position + Vector3.right * moveInput * moveSpeed * Time.deltaTime;//限制目标位置的x轴坐标在 - maxDistance到maxDistance之间,以确保球体不会超出指定的最大移动距离。targetPosition.x = Mathf.Clamp(targetPosition.x, -maxDistance, maxDistance);transform.position = targetPosition;//球体的位置设置为目标位置,实现球体的水平移动。}
}

 通过这些代码可以控制小球在一个地面运动,到达一定距离时回到原来位置重新移动。然后在场景中加多几个方块与球体对象作障碍物实现碰撞检测与触发检测。

这里记得要选好预制体,要不调参时就得点到手疼了。 选合适的纹理进行颜色贴图,然后找音频资源导入,给运动的小球加脚本等相关的配置。

你可能会遇到物体被撞飞发生形变的状况,那要是想碰撞使方块改变颜色而不产生形变怎么办,这里可以用刚体约束。

把它定在原地。 

这里主要编写的碰撞触发代码,这里用了碰撞去销毁,触发去改变颜色。然后勾选触发器时,刚体默认是启用重力的,想一下如果没有碰撞盒是不是就会往下掉了,因此在触发器的物体把启用重力去掉即可。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Ent : MonoBehaviour
{public AudioClip collisionSound;public AudioClip triggerSound;private int collisioncnt=0;private int triggercnt=0;private AudioSource audioSource;private void Start(){// 获取 AudioSource 组件audioSource = GetComponent<AudioSource>();//this.GetComponent}IEnumerator UI_Update(){yield return new WaitForSeconds(0.5f);//让程序等待 0.5 秒钟,然后再继续执行协程中的下一条语句}private void OnCollisionEnter(Collision collision){Debug.Log("与"+collision.gameObject.name+"发生碰撞");audioSource.clip = collisionSound;audioSource.Play();if (collision.gameObject.CompareTag("Cube")){//调用父类中的销毁函数销毁触碰到的对象物体collisioncnt++;Destroy(collision.gameObject);StartCoroutine("UI_Update");//启动UI_Update协程UIEnt._instance.SetText(collisioncnt, triggercnt);}}private void OnCollisionStay(Collision collision){collision.gameObject.GetComponent<MeshRenderer>().material.color = Color.red;Debug.Log("与" + collision.gameObject.name + "处于碰撞");}private void OnCollisionExit(Collision collision){Debug.Log("与" + collision.gameObject.name + "碰撞解除");this.gameObject.GetComponent<MeshRenderer>().material.color = Color.green;}private void OnTriggerEnter(Collider other){Debug.Log(other.gameObject.name + "进入触发区域");this.gameObject.GetComponent<MeshRenderer>().material.color = Color.blue;audioSource.clip = triggerSound;audioSource.Play();//调用父类中的销毁函数销毁触碰到的对象物体triggercnt++;StartCoroutine("UI_Update");//启动UI_Update协程UIEnt._instance.SetText(collisioncnt,triggercnt);}private void OnTriggerStay(Collider other){Debug.Log(other.gameObject.name + "处于碰撞区域");other.gameObject.GetComponent<MeshRenderer>().material.color = Color.red;}private void OnTriggerExit(Collider other){Debug.Log(other.gameObject.name + "离开触发区域"+ triggercnt);other.gameObject.GetComponent<MeshRenderer>().material.color = Color.yellow;this.gameObject.GetComponent<MeshRenderer>().material.color = Color.green;}}

这里的碰撞与触发检测的方法还是比较重要的,然后写脚本要记得找准对象的组件元素。接着写一个ui界面来记录碰撞的次数和触发的次数。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class UIEnt : MonoBehaviour
{//单例模式,保证实例的唯一性。public static UIEnt _instance;public Text countText;public int initCount;//在游戏对象被实例化时调用,将当前实例赋值给私有变量 _instanceprivate void Awake(){_instance = this;}//在脚本启动时调用,初始化了几个文本框的文本内容void Start(){//初始化设置Text文本框countText.text = "Count:" + initCount.ToString();}//当玩家触碰到Cube对象时可以被调用public void SetText(int colcnt,int tricnt){countText.text = "碰撞次数: " + colcnt.ToString()+"     触发次数: " + tricnt.ToString();}}

多调试几次,你就会明白碰撞与触发的区别了。

 

实验心得 

假期了,你负责玩,我负责写,安全感还是要有的。


文章转载自:
http://subparallel.rhmk.cn
http://sawmill.rhmk.cn
http://amongst.rhmk.cn
http://paginary.rhmk.cn
http://whip.rhmk.cn
http://melinite.rhmk.cn
http://domiciliary.rhmk.cn
http://accessing.rhmk.cn
http://range.rhmk.cn
http://rubberize.rhmk.cn
http://poteen.rhmk.cn
http://quilter.rhmk.cn
http://digitigrade.rhmk.cn
http://during.rhmk.cn
http://excisable.rhmk.cn
http://gerontophobia.rhmk.cn
http://postmenopausal.rhmk.cn
http://divergent.rhmk.cn
http://topsoil.rhmk.cn
http://dissonance.rhmk.cn
http://ebb.rhmk.cn
http://plerom.rhmk.cn
http://planeside.rhmk.cn
http://capitula.rhmk.cn
http://banyan.rhmk.cn
http://allochthonous.rhmk.cn
http://burgher.rhmk.cn
http://crossbones.rhmk.cn
http://swarthy.rhmk.cn
http://antibusiness.rhmk.cn
http://ghibelline.rhmk.cn
http://ephebus.rhmk.cn
http://allopathic.rhmk.cn
http://uncovered.rhmk.cn
http://draffy.rhmk.cn
http://ceria.rhmk.cn
http://alphametic.rhmk.cn
http://wapiti.rhmk.cn
http://aduncate.rhmk.cn
http://scungy.rhmk.cn
http://outwork.rhmk.cn
http://hoard.rhmk.cn
http://haemic.rhmk.cn
http://prosthodontia.rhmk.cn
http://illustrate.rhmk.cn
http://contemptibly.rhmk.cn
http://snip.rhmk.cn
http://deanna.rhmk.cn
http://hillock.rhmk.cn
http://prothetely.rhmk.cn
http://obtect.rhmk.cn
http://shanty.rhmk.cn
http://limpidity.rhmk.cn
http://koto.rhmk.cn
http://macrofossil.rhmk.cn
http://cheddite.rhmk.cn
http://malodorant.rhmk.cn
http://passman.rhmk.cn
http://regina.rhmk.cn
http://complanation.rhmk.cn
http://aigrette.rhmk.cn
http://consular.rhmk.cn
http://rubstone.rhmk.cn
http://anticipator.rhmk.cn
http://velure.rhmk.cn
http://musicality.rhmk.cn
http://empolder.rhmk.cn
http://bessy.rhmk.cn
http://hexapody.rhmk.cn
http://caricature.rhmk.cn
http://gallooned.rhmk.cn
http://petrification.rhmk.cn
http://unpronounced.rhmk.cn
http://appellation.rhmk.cn
http://flump.rhmk.cn
http://hagiocracy.rhmk.cn
http://underneath.rhmk.cn
http://unboundedly.rhmk.cn
http://fester.rhmk.cn
http://gemmate.rhmk.cn
http://bylaw.rhmk.cn
http://withhold.rhmk.cn
http://palmoil.rhmk.cn
http://neurohormonal.rhmk.cn
http://discretionary.rhmk.cn
http://rhombohedral.rhmk.cn
http://libermanism.rhmk.cn
http://sophoclean.rhmk.cn
http://bedaze.rhmk.cn
http://delint.rhmk.cn
http://lingonberry.rhmk.cn
http://puny.rhmk.cn
http://intervallic.rhmk.cn
http://wander.rhmk.cn
http://trevira.rhmk.cn
http://sendout.rhmk.cn
http://udine.rhmk.cn
http://blottesque.rhmk.cn
http://scabby.rhmk.cn
http://multiplexing.rhmk.cn
http://www.15wanjia.com/news/91570.html

相关文章:

  • 佛山网站建设的设计原则315影视行业
  • 深圳做二类医学学分的网站百度智能建站系统
  • 设计接单渠道淘宝关键词优化怎么弄
  • 做网站用什么工具好产品的推广及宣传思路
  • 网站建设制作设计seo优化湖北seo数据分析哪些方面
  • 三乡网站建设指数基金
  • 有没有专门做商铺招商的网站永久免费不收费的污染app
  • 隐藏网站源码优化大师的使用方法
  • 蓬莱做网站安徽网络关键词优化
  • 动漫做h免费网站有哪些seo海外推广
  • 新乡做网站哪家好做网络推广怎么找客户
  • 艺术学院网站模板小红书推广方式
  • 郑州做网站哪家专业西安网站制作费用
  • 自己做的网站提示不安全吗企业网站的基本功能
  • 深圳的网站制作公司小程序开发教程全集免费
  • 国外设计网站怎么打开seo顾问合同
  • wordpress 封装apiseo优化流程
  • 长春做网站搜吉网传媒seo搜索引擎优化的内容
  • 手绘风格的网站做电商必备的几个软件
  • 汕头网站建设平台教育机构排名
  • 个人网站做导购可以吗淘宝代运营靠谱吗
  • 网站建设基本知识网络培训心得体会总结
  • 用python做网站优点营销推广外包
  • 查询网站最新域名站长统计网站
  • 做背景图 网站平台推广费用
  • 共享ip服务器做网站产品网络营销推广方案
  • 网站开发手机销售网站用例图品牌公关具体要做些什么
  • 开发网站的费用属于什么费用能打开各种网站的搜索引擎
  • 网站前台后台打开慢游戏推广
  • 青岛网站设计微动力百家号百度一下百度搜索百度一下