git地址:https://gitee.com/asiworld/MakeAModelFrom-code

csdn博客地址:https://blog.csdn.net/JianShengShuaiest

bilibili地址:https://space.bilibili.com/15766978

效果预览

  1. 移动模块+开炮

Layers修改

  1. 添加layers

    1. 我方子弹

    2. 我方坦克

    3. 敌方子弹

    4. 敌方坦克

    5. 砖块

    6. 地形

  2. 修改layers碰撞

    1. Edit->project Setting

    2. physics

    3. 取消 我方坦克*我方子弹

    4. 取消 地方坦克*地方子弹

  3. 设置地形

    1. 设置layer-地形

制作敌人的坦克

  1. 拖出一个坦克

  2. 设置坐标<0,0,10>

  3. 创建一个材质球-红色

  4. 设置layer-敌方坦克

  5. 设置坦克的rigidbody

  6. 添加CapsuleCollider

制作炮弹

  1. 拖出一个炮弹

  2. 设置坐标<0,1.5,2>

  3. 设置layer

  4. 添加rigidbody

  5. 添加meshcollider

  6. 修改meshcollider convex = true

  7. is trigger = true

  8. 添加playmaker

    1. 添加状态

      1. 子弹出生
      2. 子弹运行
      3. 攻击别人
    2. 添加事件

      1. 开火
      2. 攻击
    3. 添加动作+变量

      1. 子弹出生
        1. 去除刚体
      2. 子弹运行
        1. set parent
        2. 设置刚体
        3. 设置无重力
        4. 设置前方Transform Direction
          1. z=20
          2. 添加变量 前方
        5. 添加力Set Velocity
          1. 添加vector = 前方
        6. 添加一个碰撞Trigger Event
          1. sendevent=攻击
          2. storecollider = 击中目标
      3. 攻击别人
        1. Debug Log = 击中目标
        2. Destroy Self

制作我方坦克的开炮模块

  1. 拖出有移动模块的我方坦克

  2. 设置坐标<0,0,0>

  3. 添加一个炮弹在炮弹口,起名炮弹位置

  4. 设置layer-我方坦克

  5. 设置坦克的rigidbody

  6. 添加CapsuleCollider

  7. 添加装弹UI

    1. 添加canvas

    2. 修改canvas的render mode为word

    3. 修改RectTransform <0 1 0> <20 20> <0.5 0.5> <90 0 0> <0.05 0.05 0.05>

    4. 添加slider

    5. 修改锚点和坐标

    6. 修改fill的image的source

    7. 修改image的image type 为filed

    8. fill method 为 radial 360

  8. 添加playmaker

    1. 添加状态

      1. 装弹
      2. 装弹完成
      3. 等待开火
      4. 开火
    2. 添加事件

      1. 开火

  1. 添加动作+变量

    1. 装弹
      1. wait = 装弹时间
      2. Activate Game Object = UI
      3. Do Slider
    using UnityEngine;
    using UnityEngine.UI;
    using DG.Tweening;namespace HutongGames.PlayMaker.Actions
    {[ActionCategory("Dotween")]public class DoSlider : FsmStateAction{public Slider slider;public FsmFloat m_fBeginValue;public FsmFloat m_fEndValue;public FsmFloat m_fTime;// Code that runs on entering the state.public override void OnEnter(){slider.value = m_fBeginValue.Value;slider.DOValue(m_fEndValue.Value, m_fTime.Value);Finish();}}
    }
    1. 装弹完成
      1. Get Rotation 炮弹角度
      2. Create Object 炮弹
      3. Set Parent 炮弹位置
    2. 等待开火
      1. Get Key down 空格 space
    3. 开火
      1. Send Event = 开火

【教程】0基础开发游戏的第三课-使用Playmaker制作坦克开炮模块相关推荐

  1. python打地鼠游戏代码_Python 0基础开发游戏:打地鼠(详细教程)VS code版本

    如果你没有任何编程经验,而且想尝试一下学习编程开发,这个系列教程一定适合你,它将带你学习最基本的Python语法,并让你掌握小游戏的开发技巧.你所需要的,就是付出一些时间和耐心来尝试这些代码和操作.文 ...

  2. python打地鼠游戏教程_Python 0基础开发游戏:打地鼠(详细教程)VS code版本

    如果你没有任何编程经验,而且想尝试一下学习编程开发,这个系列教程一定适合你,它将带你学习最基本的Python语法,并让你掌握小游戏的开发技巧.你所需要的,就是付出一些时间和耐心来尝试这些代码和操作.文 ...

  3. Python 0基础开发游戏:打地鼠(详细教程)VS code版本

    目录 准备工作 创建项目 可选操作 游戏开发的思路 游戏开发的技术点 打地鼠游戏 绘制地鼠 颜色和位置 绘制圆形 随机出现 隔n帧刷新 增加交互点击 距离测量 记录分数 鼠标指针变锤子 限定每局时间 ...

  4. c语言语言教程0基础_C语言基础

    c语言语言教程0基础 Hey, Folks here I am back with my second article on C language. Hope you are through with ...

  5. 美术0基础学游戏建模能入行么?

    建模是工具,美术基础是内力,工具只是熟能生巧的过程,美术基础决定在建模行业的上线 美术基础的高低影响学习建模的速度和作品质量,以及工作后能力,甚至薪资待遇.虽然现在3D建模对于美术的门槛降低了不少,一 ...

  6. HTML/CSS/Js/Jquery/PHP网站0基础开发到大神系列【飞鸽学院】

    课程介绍 简 介 html,css,javascript,jquery,php+mysql,网站0基础开发涵盖前端到后端成就你的大神之路 学习目标 php高级开发工程师,具有一定的项目经验,能进入企业 ...

  7. [中级教程] 实例教程_次世代游戏场景刀枪武器架子3D模型制作教程

    实例教程_次世代游戏场景刀枪武器架子3D模型制作教程 链接:https://pan.baidu.com/s/1Ra9T8dpcgxVRQajfRD5JLg 密码:kzcv

  8. Django项目后台admin富文本KindEditor教程0基础

    由于Django开发过程中,发现对于博客类的文章前端显示不友好,所以想在后台集成一个富文本编辑器,这样就可以轻松的解决前台页面显示没有格式的问题,给你一个漂亮的.可以编辑格式的前端页面. 在引入富文本 ...

  9. 免费python全套教程-0基础学python 全套教程送你参考

    我0基础学Python可以吗? 我赞成把Python作为入门语言: 为什么选择python Python可以说是编程语言中罕见的既简单又强大的一门语言,python语言简洁,语言优雅,功能强大,使用p ...

最新文章

  1. SAP CDS view 单元测试框架 Test Double 介绍
  2. C语言之在结构体里面放很多函数指针
  3. RabbitMQ七种队列模式介绍与应用场景(通俗易懂)
  4. redis zset转set 反序列化失败_关于Redis中的五种数据结构,要知其然知其所以然...
  5. 【Linux 系统编程】vim 的安装配置及使用
  6. 前置递增运算符(JS)
  7. 使用 Apache 工具类 HttpClients 进行 GET、POST请求
  8. 动态规划——硬币找零
  9. php中的exception与自定义异常类
  10. [翻译].NET framework 4.0并行编程:入门
  11. Linux Shell Weevely
  12. 从JPG和JPEG图片获取压缩比详细教程
  13. 四大高质量且实用的chrome翻译插件推荐
  14. 耀之阳电商:店铺运营的注意事项事项
  15. 【贪心】 大天使之剑
  16. 六维力数据中去除重力、漂移力任务---ros之talker、listener、ur、坑
  17. slub allocator工作原理
  18. AndroidStudio的 Caused by java.lang.ClassNotFoundException Didn't find class com.gizwits.opensource.a
  19. Linux生成图片文字乱码
  20. 2021-06-04 Java对象在Hibernate下的4种状态和Session相关方法以及对象识别

热门文章

  1. 多路选择器(multiplexer)简介
  2. linux can软件,Linux学习系列十:使用CAN
  3. 十道经典面试算法真题详解
  4. xgs芯片_IBM Security XGS和网络访问控制
  5. 联想fan+error+滴滴两声就关机了
  6. SCI论文会议期刊模板
  7. Pandas技巧大全:含具体代码实现
  8. android一键换机功能实现,Android 手机克隆/一键换机原理初探
  9. C#实现的两个淘宝插件源码
  10. 【运筹学】不平衡运输问题 ( 不平衡问题转化为平衡问题 )