美文网首页
18080518 2D游戏 物理弹球

18080518 2D游戏 物理弹球

作者: 伊才妮 | 来源:发表于2018-08-06 12:31 被阅读0次

0805
视频 18 物理弹球场景 小球弹射

物理弹球Demo制作

物理弹球.png

- 需求分析

需求分析.png
  • 小球
    小球.png
  • 障碍物
    障碍物.png
  • 道具
    道具.png

- 2D工程创建

2D工程创建.png

- 场景构建 00:13:00——00:45:00

场景构建.png

- 小球发射代码创建 00:45:00——01:09:00

小球发射.png
  • 控制小球 给小球一个初始的方向进行发射

    1. 在类下定义刚体类型的变量

      Rigidbody2D _rigidbody2D;
      
    2. 在start方法下获取刚体组件

      _rigidbody2D = GetComponent<Rigidbody2D>();
      
    3. 在update方法下写一个If条件 条件的参数是输入鼠标左键后响应里面语句

      if (Input.GetMouseButtonUp(0))
       {
       }
      
    4. 在if条件里调取刚体的施加力的工具

      _rigidbody2D.AddForce();
      
    5. AddForce需要传入一个二维向量的参数 那么我们需要计算这个参数 光标的位置和球这两个点中间的连线就是一个由球指向光标的向量

    6. 光标的位置是屏幕的坐标系 可以通过相机下main进行转换 用main获取的前提是相机的tag需要选中MainCamera 在main里调取屏幕坐标转换成世界坐标的工具是ScreenToWoeldPoint()里面的参数是需要转换的位置Input.mousePosition 此时获取的光标位置用一个变量装起来 var是自配置类型

      var mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
      
    7. 这个力的方向可以通过所挂代码的物体的位置的向量与光标的位置相减求得

      var _direction = mousePos - transform.position;
      
    8. 向量具有大小和方向 需要归一化 求得单位向量才能实现只用其方向

      向量归一化.png
      _direction.Normalize();
      
    9. 默认状态下世界坐标系是xyz三个坐标轴的 因为此时是一个2D工程 我们可以把最后求出来的向量的类型改成一个二维向量

      Vector2 _direction = mousePos - transform.position;
      
    10. rigidbody下的sleeping mode可以调整开始的状态 以防游戏一运行就往下掉

    11. 注释掉还未传入参数的语句 在归一化向量的前后观察求得的_direction的值可以通过

      Debug.log(_direction);
      //_rigidbody2D.AddForce();
      

      进行检验观察

    12. 传入求得的向量的参数后 还需要进行选择ForceMode2D是一个持续的力Force还是一个瞬间的力Impulse

      _rigidbody2D.AddForce(_direction,ForceMode2D.Impulse);    
      
    13. 运行后发现力比较不合适 需要一个可以进行调节的力 在类下再定义一个公有浮点型变量 并进行赋值 在施加力的语句的参数的向量乘上这个可以进行调节的力 给向量乘上一个值相当于把单位向量进行了延长

      public float ForceSize=1;
      
  • 让球弹起来 01:09:00——01:15:48

    让球弹起来.png
  1. 在assets下新建一个物理材质的文件夹 并给小球建一个Physic Material 并赋给小球的collider上的material的空槽里 物理材质的意思是使物体具有一定的物理属性 可以定义摩擦力和弹力

- 答疑 01:16:57——结束

相关文章

  • 18080518 2D游戏 物理弹球

    0805视频 18 物理弹球场景 小球弹射 物理弹球Demo制作 - 需求分析 小球小球.png 障碍物障碍物.p...

  • 2D物理弹球

    场景搭建:游戏属于2D游戏,所以场景我们用2D精灵(Sprite)来搭建 一.砌墙 首先搭建一圈2D碰撞器作围墙,...

  • 彩色弹球-好玩物理弹球技术支持

    彩色弹球-好玩物理弹球 彩色动物 彩色弹球 越弹越过瘾 全面适配IPhoneX 好玩的弹球游戏,快来体验吧~ ...

  • 欢乐球球

    疯狂弹球3——再度升级!到传统弹球游戏画面,让游戏多姿多彩。先进的物理引擎,完美模拟真实碰撞。简单的操作,谁都可以...

  • Unity笔记

    Unity3D 官方文档 2D游戏的起始2 2D物理 全局设置与刚体 Unity5.6 2D物理引擎Effecto...

  • 疯狂弹球

    最好玩的弹球游戏——疯狂弹球震撼来袭!最简单!最休闲!最疯狂!最与众不同的弹球游戏! 上手操作简单,玩法新颖有趣,...

  • 弹球游戏

    A 分析阶段 01 课程目标 今天我们做一个弹球游戏,小球在屏幕内跳动,我们控制一个小挡板,避免球落到底边。每接到...

  • 《趣学Python——教孩子学编程》学习笔记第13章

    第13章 你的第一个游戏:弹球 13.1 打击反弹球 我们将要开发一个有反弹球和球拍构成的游戏。球会在屏幕上飞过来...

  • 2019年10月19日周六下午班课堂分享

    课堂任务:弹球游戏之特效设计 教学知识目标: 1、复习弹球游戏的制作,深化理解方向的含义及应用 2、学习“虚象”的...

  • 【从0开始学Laya】15-2d物理引擎(1)-概念

    经典的物理游戏如:愤怒的小鸟,小鳄鱼顽皮爱洗澡等,都是用物理系统制作。2D物理引擎由刚体和碰撞体以及关节构成。当物...

网友评论

      本文标题:18080518 2D游戏 物理弹球

      本文链接:https://www.haomeiwen.com/subject/kjabvftx.html