当前位置: 首页 > news >正文

Unity项目 - 打砖块游戏

基本功能:实现WASD进行视角在XY轴方向的移动,其次按下鼠标左键产生子弹bullet对面前的砖块cube进行碰撞。

主界面:
主界面

运行情况:
运行情况
动态过程:
1688704-20190519182529811-858750269.gif

项目地址:BreakBricks

制作过程:

  1. 创建平面plane做场景的地面
  2. 创建砖块的预制体Cube,包含信息有
    • 碰撞体 Box Collider
    • 材质 Cube Material
    • 刚体 Rigidbody
  3. 复制砖块堆积创建墙壁 TotalCubes
  4. 对镜头Main Camera编写脚本 Short.csMovement.cs
    • Movement:键盘读取WASD值对视角进行XY轴的移动
    • Short:单鼠标左键按下即实体化子弹预制体 bullet,并且赋予初速度
  5. 至此实现基本功能,以下为其他可添加功能
    • 弹跳性:创建Physic Material材质,其中Bounciness属性即为弹性(0代表无弹力,1表示完全反弹),将其赋予ColliderMaterial即可实现
//Short.cs
using UnityEngine;

public class Short : MonoBehaviour
{
    public GameObject bullet;
    public float speed = 5;

    void Start()
    {}

    void Update()
    {
        //左键按下产生子弹
        if(Input.GetMouseButtonDown(0))
        {
            GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation);
            Rigidbody rgd = b.GetComponent<Rigidbody>();
            rgd.velocity = transform.forward * speed;
        }
    }
}
//Movement.cs
using UnityEngine;

public class Movement : MonoBehaviour
{
    public float speed = 5;
    void Start()
    {}

    void Update()
    {
        float h = Input.GetAxis("Horizontal");  //x轴
        float v = Input.GetAxis("Vertical");    //y轴
        //Debug.Log(h);

        transform.Translate(new Vector3(h, v, 0) * Time.deltaTime * speed);
        //左右镜头移动速度1 m/s * speed
    }
}

转载于:https://www.cnblogs.com/SouthBegonia/p/10890048.html

相关文章:

  • 递归的作用?
  • pwrite,pread
  • 手把手教你grid布局
  • 以太网原理回顾
  • dubbo 教程
  • 普通数字加字母验证码破解
  • 取出类似这种格式的时间 06-01 只取月份和日
  • Java 线程高级
  • 快速生成树协议RSTP
  • Linux centos 安装 Node.js
  • Linux系统配置文件
  • 剑指offer——03从尾至头打印列表(Python3)
  • 用python做的windows和linx文件夹同步。解决自动同步、加快传输大量小文件的速度、更丰富的文件上传过滤设置。...
  • 隐私政策--Privacy Policy
  • ModelViewSet的继承关系
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Android系统模拟器绘制实现概述
  • CAP理论的例子讲解
  • ERLANG 网工修炼笔记 ---- UDP
  • httpie使用详解
  • Java Agent 学习笔记
  • Java的Interrupt与线程中断
  • Java反射-动态类加载和重新加载
  • java概述
  • MaxCompute访问TableStore(OTS) 数据
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Vue官网教程学习过程中值得记录的一些事情
  • 阿里云应用高可用服务公测发布
  • 程序员最讨厌的9句话,你可有补充?
  • 初识 beanstalkd
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 猴子数据域名防封接口降低小说被封的风险
  • 力扣(LeetCode)22
  • 前端学习笔记之观察者模式
  • 区块链共识机制优缺点对比都是什么
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 微信小程序开发问题汇总
  • 微信小程序实战练习(仿五洲到家微信版)
  • 写代码的正确姿势
  • 学习HTTP相关知识笔记
  • 译自由幺半群
  • 原生JS动态加载JS、CSS文件及代码脚本
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ${factoryList }后面有空格不影响
  • (11)MSP430F5529 定时器B
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (9)STL算法之逆转旋转
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (三)Honghu Cloud云架构一定时调度平台
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介