Unity实现俄罗斯方块(一)
作者:阿浪啊 发布时间:2021-06-07 15:30:24
标签:Unity,俄罗斯方块
本文实例为大家分享了Unity实现俄罗斯方块第一部分,供大家参考,具体内容如下
准备工作
1、新建一个2D项目,新建成功以后设置相机的一些参数
2、导入所要用的图片,修改图片的一些属性
3、了解俄罗斯方块的几种模型
4、根据模型制作预制体(由多个小方块通过修改位置制作预制体)
5、设置游戏边界
注:当制作完预制体以后应当要保存项目save project以及游戏边界宽度应当要设置成可以放几个方块的宽度
搭建计时器
1、新建一个UI Text重命名为Timer,其中Text内容为00:00
2、编写脚本,编写计时部分(可根据Unity用户手册搜索Time)unity脚本用户手册
void Start()
{
//对大小写敏感
timer = GameObject.Find("Canvas/Timer").GetComponent<Text>();
//得到游戏开始时间(单位:s)
startTime = Time.time;
}
void Update()
{
//游戏运行了多长时间(单位:s)
time=Time.time - startTime;
//秒数
int seconds=(int)time % 60;
//分数
int minutes = (int)time / 60;
//其中:前面的0 1指的是第几个参数 :后面00表示由几位组成 {}之间的:是要显示出来的
string strTime = string.Format("{0:00}:{1:00}",minutes,seconds);
timer.text = strTime;
}
代码部分
随机生成一个方块模型(游戏逻辑脚本)
public GameObject[] Groups;//用于存放预制体类型
public void spawnNext()
{
int i = Random.Range(0, Groups.Length);
GameObject g=Instantiate(Groups[i], transform.position, Quaternion.identity);
}
使物体左移右移旋转下落(应当编写一个有关于物体的脚本)
void Update()
{
//控制物体向左移
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
transform.position += new Vector3(-1, 0, 0);
}
//控制物体右移
else if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.position += new Vector3(1, 0, 0);
}
//控制物体旋转
else if (Input.GetKeyDown(KeyCode.UpArrow))
{
//可在unity编辑器中通过旋转可得是对z轴进行旋转
transform.Rotate(0, 0, -90);
}
else if (Input.GetKeyDown(KeyCode.DownArrow))
{
transform.position += new Vector3(0, -1, 0);
}
}
更多俄罗斯方块精彩文章请点击专题:俄罗斯方块游戏集合 进行学习。
更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏 玩不停
javascript经典小游戏汇总
来源:https://blog.csdn.net/qq_42216823/article/details/87477848


猜你喜欢
- 字段策略 0:”忽略判断”,1:”非 NULL 判断”),2:”非空判断”问题描述:当字段策略为 0 “忽略判断” 的时候,如果实体和数据库
- 本文实例讲述了C# TreeView无限目录树实现方法。分享给大家供大家参考,具体如下:#region 绑定客户树protected voi
- 什么是过滤器过滤器 Filter 基于 Servlet 实现,过滤器的主要应用场景是对字符编码、跨域等问题进行过滤。Servlet 的工作原
- 目录首先必须要有一个个人微信公众号效果图后台路由代码完整代码首先必须要有一个个人微信公众号个人微信公众号相关的接口权限有限,不过用于个人学习
- 之前的两篇文章:Java实现两人五子棋游戏(二) 画出棋盘;Java实现两人五子棋游戏(三) 画出棋子;Java实现两人五子棋游戏(四) 落
- 网络编程TCP实现聊天的前提还需要掌握IO流,话不多说,直接上代码!客户端:package com.kuang.lesson02;impor
- 一、先看结果1.1创造营2020撑腰榜前三甲创造营2020撑腰榜前三名分别是 希林娜依·高、陈卓璇 、郑乃馨>>>df1[
- 利用C#编写一个计算器。如下图,能够完成基本的四则运算。当然这个程序甚至还不上Windows附件那个自带的多功能计算器。 不过这个
- java 泛型方法:泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test
- 一、通过配置文件控制静态资源的热部署在配置文件 application.properties 中添加:#表示从这个默认不触发重启的目录中除去
- WebFlux服务编排WebFlux 服务编排是指使用 WebFlux 框架来编排多个异步服务的执行顺序和数据流动,从而构建出一个完整的、基
- InetAddress类InetAddress类用来封装我们前面讨论的数字式的IP地址和该地址的域名。你通过一个IP主机名与这个类发生作用,
- 桶排序桶排序是计数排序的升级,计数排序可以看成每个桶只存储相同元素,而桶排序每个桶存储一定范围的元素,通过函数的某种映射关系,将待排序数组中
- final 可以适用的范围:修饰类:使用这种修饰符的类无法被继承修饰函数:被修饰的不能被重写修饰属性:1.final修饰的成员变量是常量,值
- 本文实例为大家分享了java数据库唯一id生成工具类的具体代码,供大家参考,具体内容如下import java.io.File;import
- 目录前言1、创建一个控制台应用程序2、编写测试代码并分析3、总结前言对于C#里面的Foreach学过 语言的人都知道怎么用,但是其原理相信很
- 我只给出比较有效的,方便的打印方法,有些WEB打印是调用ActiveX控件的,这样就需要用户去修改自己IE浏览器的Interne
- 首先来看看以下程序将会打印出什么:class Dog { public static void bark
- XSS是一种经常出现在web应用中的计算机安全漏洞,具体信息请自行Google。本文只分享在Spring Cloud Gateway中执行通
- 先创建一个title.xml<LinearLayout xmlns:android="http:/