有射线种白菜

欢迎来到unity学习社区

今天的内容

用射线碰撞来种植白菜,并且在生成白菜后给予种植成功提示,提示在1秒后消失

 

射线种植白菜:

通俗的来讲就是通过定义一个射线投射碰撞来得出白菜的克隆位置,当碰撞发生时在鼠标点击位置克隆白菜,

 

 

种植成功后给予的提示:

这里使用guitext来实现 并用倒计时和bool型标志位来判断鼠标点击事件,当发生投射碰撞时将flag赋值为true 否知为false,提示判断为当flagtrue时给予成功提示,否则不给提示

代码为:

       public Transform cabbage; //预设体  

 

       public GUIText t;

 

       bool flag1 = false; //标志位

 

       float a = 1f; 倒计时时间

 

       void Start()

       {

          t.enabled = false;//t初始值为空

       }

       void Update()

       {

               if (Input.GetMouseButtonDown(0)) //鼠标点击

               {

 

                   Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//定义射线

                   RaycastHit hit;

 

                   if (Physics.Raycast(ray, out hit, 1000)) //如果发生碰撞

                   {

                  cabbage = Instantiate(cabbage, hit.point, Quaternion.identity) as Transform;

                       flag1 = true;

                       a = 1f;//时间重置

                   }

               }

               else

               {

 

                   a -= Time.deltaTime;//倒计时            

                   if (a <= 0 && a > -0.1) 

                   {

                       flag1 = false; 

                   }

                  

               }

               if (flag1)//提示当flagtrue

               {

                   t.color = Color.red;

                   t.fontSize = 30;

                   t.text = "*种植成功*";

               }

               else { 

                   t.guiText.text = " "; 

               }

          }

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值