Unity中如何用代码实现横版游戏路径的绘制
来源:互联网 发布:在线教学系统源码 编辑:程序博客网 时间:2024/05/16 17:46
首先,在场景中添加一个Cube,添加为预制件。
创建一个脚本,在脚本中写入下面的代码:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class qianjing : MonoBehaviour
{
public Transform prefab;//定义预制件
public Vector3 onepos;//定义起始位置
public Vector3 nextpos;//定义下一个位置
public int num;//数量
public Vector3 minsize;//最小范围
public Vector3 maxsize;//最大范围
Queue<Transform> queues;//队列
public float distance;
void Start()
{
queues = new Queue<Transform>(num);//实例化队列
for (int i = 1; i < num; i++)
{
Transform trans = GameObject.Instantiate(prefab);//实例化预制件
queues.Enqueue(trans);//将预制件添加至队列
}
nextpos = onepos;//起始位置 = 下一位置
for (int i = 1; i < num; i++)
{
Keep();
}
}
void Update()
{
if (Run.distances - queues.Peek().position.x >= distance)//物体移动距离与预制件长度的差
{
Keep();
}
}
/// <summary>
/// 预制件排列
/// </summary>
private void Keep()
{
//(预制件)随机大小
Vector3 ban = new Vector3(Random.Range(minsize.x, maxsize.x), Random.Range(minsize.y, maxsize.y), Random.Range(minsize.z, maxsize.z));
Transform trans = queues.Dequeue();//暂时移除(预制件)
Vector3 poss = nextpos;//获取下一个预制件
poss.y += ban.y * 0.5f;//预制件在Y轴方向上移预制件的一半距离
poss.x += ban.x * 0.5f;//预制件在X轴方向右移预制件的一半距离
trans.localScale = ban;//重新生成随机预制件
trans.position = poss;//获取下一个预制件位置
nextpos.x += ban.x;// 预制件在X轴方向右移(前)预制件大小的距离
queues.Enqueue(trans);//添加队列中
}
}返回场景,创建一个空游戏体,将脚本挂载在空游戏体上
点击运行,在游戏窗口就可以看到随机产生的游戏路径。
- Unity中如何用代码实现横版游戏路径的绘制
- Spring中AOP的理解以及如何用代码实现
- Unity入门系列||Unity中如何用脚本实现物体的循环移动和旋转
- Unity如何用网格绘制一个正五边形
- 详解如何用java实现Koch雪花的绘制
- Unity中Button的颜色如何用脚本改变
- 如何用代码实现四舍五入
- 如何用代码在Excel中实现单元格内换行
- android:如何用一天时间,写出“飞机大战”这样的游戏!(无框架-SurfaceView绘制)
- iOS中如何用纯代码绘制比较复杂图表UI
- 如何用C语言实现三子棋游戏
- 如何用Unity和Cardboard做一款VR游戏
- 如何用代码禁用SpriteBuilder中创建的关节
- 如何用python实现剔除列表中相同的元素
- c++中如何用string实现CString格式化的功能
- 如何用ASP代码实现虚拟主机
- 如何用代码实现锁定计算机
- 如何用代码实现textbox换行
- java中volatile关键字的使用
- 算法_十个值得一试的开源深度学习框架
- Css总结
- 性能优化
- RHEL/CentOS 7最小化安装后需做的30件事情
- Unity中如何用代码实现横版游戏路径的绘制
- 参数估计-矩估计和极大似然估计概述
- 大话pixhawk飞控栈之关系
- imageview循环渐变
- QGroundControl笔记 —— MainWindow
- MP3播放器的工作原理
- 单一职责之ImageLoader(一)
- EF Codefirst 多对多关系 操作中间表的 增删改查(CRUD)
- 经典分解质因数算法