Unity制作赛车游戏(无尽版)源码解析 和 Whell joint 2D组件的使用

举报
陈言必行 发表于 2021/08/14 00:10:19 2021/08/14
3.5k+ 0 0
【摘要】 小游戏的开始界面:   感兴趣的同学可以按如下方式下载素材和工程源码   下载链接。没有积分的同学,扫描主页左侧二维码或 V信搜 " 开发同学留步",回复“ 赛车” 获取资源。 根据车轮的转动,使小车运动,,, 使用2D Sprite创建出入下图所示关系,并附上图...
小游戏的开始界面:
 
感兴趣的同学可以按如下方式下载素材和工程源码
 

下载链接。没有积分的同学,扫描主页左侧二维码或 V信搜 " 开发同学留步",回复“ 赛车” 获取资源。

根据车轮的转动,使小车运动,,,
使用2D Sprite创建出入下图所示关系,并附上图片调整位置:
 
为小车,和车轮增加如下的属性面板
 
CarMove脚本在后面,,没有声音面板,需要就加AudioSound组件,就好了,大家注意面板上的属性赋值就可以了,,,
 
注意:whell Join 2D 属性面板的Connected Anchor 属性一定调整到车轮的中心点位置,,这里的物理材质我使用的摩擦力大小时0.5,,,车的rigidbody赋值在车轮的Whell Joint 属性上,,勾选上Use Motor,调整各自的碰撞体;
 
CarMove脚本:

       public class CarMove : MonoBehaviour {
       public float speed = 10f; //初速度
       public WheelJoint2D leftWhell;  //车轮
       public WheelJoint2D rightWhell;
       public float phSpeed = 5.0f;  //平衡调整速度
       public AudioSource carSound;  //获取组件以播放声音
       public AudioClip runClip;   //开车时的音频剪辑
       public AudioClip waitClip;
       private Transform myTrans;  //自己的Transform
       //给车轮加动力的
       private JointMotor2D jmL,jmR;
      	void Start () {
       //获取速度
        jmL = leftWhell.motor;
        jmR = rightWhell.motor;
        myTrans = this.transform;
        }
      	// Update is called once per frame
      	void Update () {
        Move();
        }
       private void Move()
        {
       //获取输入
       float ax = Input.GetAxis("Horizontal");
       float ay = Input.GetAxis("Vertical");
       //当前速度
        jmL.motorSpeed = ax * speed;
        jmR.motorSpeed = ax * speed;
       //赋值
        leftWhell.motor = jmL;
        rightWhell.motor = jmR;
       if(ay != 0)
        {
       //左右平衡赛车的角度
        myTrans.Rotate(myTrans.forward, ay * phSpeed);
        }
       if ( ax != 0 ) //有移动变化量就不播放runClip
        {
        carSound.clip = runClip;
       if(!carSound.isPlaying){
        carSound.Play();
        }
        }else  //停下就不播放声音
        {
        carSound.Stop();
        }
        }
       }
   
  

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/77929353

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。