zoukankan      html  css  js  c++  java
  • 学习坦克大战记录的一些知识点

    1:让方向按键不能同时起作用(2D游戏):巧妙的使用return终止了代码的执行。

         return 可以在任何地方使用,并不是只有有返回值的函数才能使用Return

         检测到有按键按下时,用Return终止函数的继续执行,不再检测下面的代码。

         float v=Input.GetAxisRow("Vertical")

         transform.translate(new vector3(0,v,0)*Time.daltaTime*speed)

         if(v!=0)

          {

             Return;//检测到物体要进行上下运动,就终止检测物体的水平运动

          }

         float h=Input.GetAxisRow("Horizontal");

         transform.translate(new vector3(0,h,0)*Time.daltaTime*speed)

        

    2:OnTriggerEnter(Collider other)和OnCollisionEnter(Collision other)

          OnTriggerEnter(Collider other)是触发器

          OnCollisionEnter(Collision other)是碰撞器

    3:刚体,碰撞体,触发器

         Rigidbody刚体,让物体拥有重力,质量等

         碰撞器:有碰撞器相当于有了肉体一样,物体不能随便穿墙,物体没碰撞器就像只有灵魂,没有实体

         触发器:相当于物体有了触摸的能力。

         触发器是碰撞器的一个属性,选中了触发属性,则物体的碰撞体就失去了作用

        碰撞器的碰撞事件触发条件:碰撞双方都有碰撞器,其中移动的一方还必须要有刚体(Rigidbody)

        触发器的触发条件:双方物体只要有一个触发器就会触发触发双方挂载脚本中的触发函数,其中移动的一方还必须要有刚体(Rigidbody),注意:碰撞器的触发属性选中时,碰撞      检测就不能依靠这个碰撞器来进行碰撞检测了,碰撞器的功能就失去了。物体就可以相穿而过。

        碰撞器的碰撞检测条件就是双方不相穿而过的条件

      

    4:2D精灵的渲染层级

    Sorting layer:渲染层的等级越高,越优先渲染,渲染等级高的和等级低的在一起,渲染等级高的会遮住渲染等级低的

    5:子弹的发射朝向问题:想让坦克往他朝向的地方发射子弹。则子弹的运动方向是transform.translate(transform.UP*Time.daltaTime*speed,space.world)

    在世界坐标系下,输出物体自身的上方向的单位坐标。物体转向则相对应的上方向也会变化。物体朝向y轴输出(0,1,0)朝向x轴输出(1,0,0)

    6:怎么区分玩家的子弹和敌人的子弹:因为子弹脚本,玩家和敌人都要挂载这个脚本,所以定义一个public  bool 让他在true时为玩家,为false时表示敌人 ,判断true时是玩家子弹,false时为敌人子弹。

    7:setActive(false)状态的物体用Find找不到

    8:audioClip的使用:

         AudioSource audioClip  指定音频

        audiosource.clip=audioClip  //可以更换音频播放器播放的音频

        audiosource.play()//播放音频

    9:Application.OpenURL(string )//打开网页

  • 相关阅读:
    linux基本命令之grep
    Linux在线练习网站
    MySql分表分库思路
    SqlServer触发器
    SqlServer存储过程
    Spring常用注解总结
    SpringMVC的HelloWorld
    XML基础和Web基本概念(JavaWeb片段一)
    红黑树-结点的删除(C语言实现)
    红黑树-结点的插入
  • 原文地址:https://www.cnblogs.com/zhangyang4674/p/11204907.html
Copyright © 2011-2022 走看看