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

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

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

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

   
  1. public class CarMove : MonoBehaviour {
  2. public float speed = 10f; //初速度
  3. public WheelJoint2D leftWhell; //车轮
  4. public WheelJoint2D rightWhell;
  5. public float phSpeed = 5.0f; //平衡调整速度
  6. public AudioSource carSound; //获取组件以播放声音
  7. public AudioClip runClip; //开车时的音频剪辑
  8. public AudioClip waitClip;
  9. private Transform myTrans; //自己的Transform
  10. //给车轮加动力的
  11. private JointMotor2D jmL,jmR;
  12. void Start () {
  13. //获取速度
  14. jmL = leftWhell.motor;
  15. jmR = rightWhell.motor;
  16. myTrans = this.transform;
  17. }
  18. // Update is called once per frame
  19. void Update () {
  20. Move();
  21. }
  22. private void Move()
  23. {
  24. //获取输入
  25. float ax = Input.GetAxis("Horizontal");
  26. float ay = Input.GetAxis("Vertical");
  27. //当前速度
  28. jmL.motorSpeed = ax * speed;
  29. jmR.motorSpeed = ax * speed;
  30. //赋值
  31. leftWhell.motor = jmL;
  32. rightWhell.motor = jmR;
  33. if(ay != 0)
  34. {
  35. //左右平衡赛车的角度
  36. myTrans.Rotate(myTrans.forward, ay * phSpeed);
  37. }
  38. if ( ax != 0 ) //有移动变化量就不播放runClip
  39. {
  40. carSound.clip = runClip;
  41. if(!carSound.isPlaying){
  42. carSound.Play();
  43. }
  44. }else //停下就不播放声音
  45. {
  46. carSound.Stop();
  47. }
  48. }
  49. }

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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