Unity3D实现打砖块游戏
作者:LGX_TvT 发布时间:2021-11-13 11:29:44
本文实例为大家分享了Unity3D实现打砖块的具体代码,供大家参考,具体内容如下
基于unity2017
1、 使用Plane创建初始地图
(层级菜单[Hierarcy]-> 3D Object -> Plane)
2、将Plane命名为Gound
3、 更改Scale
x = 2,y = 2,z = 2,将Plane变为原来的两倍
4、在Assest下新建一个文件夹并命名为Material
用于存放材质
5、创建材质
(右键 -> Create -> Mateial),并命名为Gound
6、设置材质的贴图
1).材质的贴图
2).金属度
3).光滑度
7、设置墙壁
1).在Assets中创建一个Prefab目录。
2).在层级目录中创建一个Cube,并将其设为Prefab,设置为Prefab主要是便于整体修改。
3).创建一个空组件,将Cube作为空组件的子组件,并将空组件命名为Bircks
4).为Prefab的Cube组件添加Rigibody属性(物理属性) (点击add Component搜索 Rigibody)
5).使用Ctrl + D 复制方块 与 Ctrl + 左键 按单元格拖动方块
8、创建 *
在prefab下创建Sphere,同时添加Rigibody属性
9、添加 * 飞出脚本
1).在Assets下创建Script文件夹用于存放脚本
2).右键创建C#脚本,命名为Shoot
3).将Shoot脚本赋予给相机(Main Camera)只需要将脚本拖到Main Camera组件上就可以添加脚本了
4).编辑脚本
public GameObject buttle;//用于获得 * 对象
public float speed = 20F;
? ? // Use this for initialization
? ? void Start () {
? ? }
? ? // Update is called once per frame
? ? void Update () {
? ? ? ? //当鼠标按下左键时触发
? ? ? ? if (Input.GetMouseButtonDown(0))
? ? ? ? {
? ? ? ? ? ? //创建 * 对象
? ? ? ? ? ?GameObject gb = GameObject.Instantiate(buttle,transform.position,transform.rotation);
? ? ? ? ? ?//创建刚体对象
? ? ? ? ? ?Rigidbody rg = gb.GetComponent<Rigidbody>();
? ? ? ? ? ?//设置 * 初始速度
? ? ? ? ? ?rg.velocity = transform.forward * speed;
? ? ? ? }
? ? }
5).赋予脚本Public属性值
只要脚本声明为public的字段,就可以从外部直接得到,这时将准备好的Prefab的Shpere * 赋值给Buttle
10、创建镜头移动脚本
方法同上,创建一个Movement的C#脚本,赋予Main Camera
public class Movement : MonoBehaviour {
? ? public float speed = 5F;
? ? // Use this for initialization
? ? void Start () {
? ? }
? ? // Update is called once per frame
? ? void Update () {
? ? ? ? float h = Input.GetAxis("Horizontal"); //控制水平移动
? ? ? ? float v = Input.GetAxis("Vertical");//控制垂直移动
? ? ? ? //设置摄像机位置
? ? ? ? transform.Translate(new Vector3(h, v, 0) * Time.deltaTime * speed);
? ? }
}
11、结束
来源:https://blog.csdn.net/l1336037686/article/details/79689292
猜你喜欢
- 好久就想着好好搭建一个ssm框架,自己以后用也方便吧,但是最近的事真的是很多,很多事情都没有去干,有时候自己会怀疑一下人生自己该不该去做程序
- 一、为什么要有泛型?我们在写一些方法时可能会方法名相同,参数类型不同的方法,这种叫做重载。如果只是因为参数类型不同里面做的业务逻辑都是相同的
- 背景:有时候string类型的数据取出来是个很标准的key、value形式,通过Gson的可以直接转成map使用方式:Gson gson =
- 这个是SpringBoot的Maven插件,主要用来打包的,通常打包成jar或者war文件。其中goal标签可以有5个值:repackage
- 近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具。由于平时主要是写Java代码,所以
- 首先,需要一个电话号码,目前很多账户都是将账户名设置成手机号,然后点击按钮获取手机验证码。 其次,你需要后台给你手机短信的验证接口,各个公司
- 如果对象可以改变其状态,就很难在多个同时运行的任务中使用。这些集合必须同步。如果对象不能改变器状态,就很容易在多个线程中使用。Microso
- 主题 ActiveMQ Spring Boot 小程序开发1.引入依赖<parent><groupId>org.sp
- spring-MVC实现简单的登录功能,供大家参考,具体内容如下今天我学习了spring-MVC实现简单的登录功能,本篇博客就讲解如何使用s
- String类原生的字符串处理方法short s=1;s=s+1;与short s=1;s+=1;的区别一、“+&
- 前言所谓的字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符
- 我就废话不多说了,大家还是直接看代码吧~using UnityEngine;using System.Collections; public
- 1 实战前的理论基础1.1 Spring Batch是什么Spring Batch 是一个轻量级、全面的批处理框架,旨在支持开发对企业系统日
- redissonredisson 实现分布式锁的机制如下:依赖版本implementation 'org.redisson:redi
- 本文为大家介绍了java.util.ArrayDeque类使用方法,供大家参考,具体内容如下1. ArrayDeque有两个类属性,head
- 需要装一个插件:File - Settings- Plugins - 搜索gson 安装GsonFromat;如下两张图安装完成后 ,新建一
- 1.栈和队列的共同特点是(只允许在端点处插入和删除元素)4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构)5.下列关于栈的叙述正确
- 1. 异常1.1 try…catch异常处理try catch的异常处理的格式写法 :try{ &nbs
- 1.什么是thread当我们提及多线程的时候会想到thread和threadpool,这都是异步操作,threadpool其实就是threa
- 1 背景去年有很多人私信告诉我让说说自定义控件,其实通观网络上的很多博客都在讲各种自定义控件,但是大多数都是授之以鱼,却很少有较