2d图片依次排列在屏幕中间(SpriteRenderer)
如图所示:

C#代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class SpriteRendererTest : MonoBehaviour {
List<Transform> list = new List<Transform>(); // 存储父物体的子对象
List<float> rendererWidthList = new List<float>(); // 存储子对象的宽度
private Vector3 centerPos = Vector3.zero; // 中心位置
private float offSet = 0.2f; //偏移量
private float length = 0.0f; // 初始化长度 void Start () {
// 遍历所有子对象
for (int i = ; i < gameObject.transform.childCount; i++) {
var child = gameObject.transform.GetChild(i);
var width = child.GetComponent<SpriteRenderer>().sprite.bounds.size.x;
if (i < gameObject.transform.childCount - )
{
length += width + offSet;
}
else {
length += width;
}
list.Add(child);
rendererWidthList.Add(width);
}
var startX = centerPos.x - length / 2.0f; //第一个子对象的左边界
foreach (var child in list)
{
int index = ;
child.transform.position = new Vector3(startX + rendererWidthList[index] / 2.0f, , );
startX = startX + offSet + rendererWidthList[index];
index += ;
}
}
}
lua代码:
-- 创建数组
local parent = UGameObject.Find("Parent")
local objectList = {}
local rendererWidthList = {}
for i = , parent.transform.childCount do
local child = parent.transform:GetChild(i - )
local renderer = child:GetComponent(typeof(USpriteRenderer))
local width = renderer.sprite.bounds.size.x
table.insert(objectList, child)
table.insert(rendererWidthList, width)
end local length = -- 初始化长度
local offSet = 0.2 -- 间隔
for i = , #objectList do
local obj = objectList[i]
local width = rendererWidthList[i]
if i == #objectList then
length = length + width
break
end
length = length + width + offSet
end local centerPos = Vector3.zero -- 中心位置
local startX = centerPos.x - length / -- 初始位置 for i = , #objectList do
local obj = objectList[i]
local width = rendererWidthList[i]
obj.transform.position = Vector3(startX + width / , , )
startX = startX + width + offSet
end
2d图片依次排列在屏幕中间(SpriteRenderer)的更多相关文章
- WPF编程,通过DoubleAnimation控制图片的透明度,将重叠的图片依次显示。
原文:WPF编程,通过DoubleAnimation控制图片的透明度,将重叠的图片依次显示. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307 ...
- 基于jQuery图片自适应排列显示代码
基于jQuery图片自适应排列显示代码.这是一款基于jquery.flex-images插件实现的类似谷歌图片流效果.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div ...
- NGUI如何使2D图片按像素1:1显示在屏幕上
NGUI版本为3.5.1. 将camera 设置为正交模式,size值设为1. UIRoot(2D)有3种缩放样式: 1.PixelPerfect.UI严格按照指定的像素大小显示,不会随着屏幕的分辨率 ...
- 横向图片墙排列算法及demo
演示地址: http://codeman35.itongyin.com:19005/v1/9gg_v2.html 功能: 按照不同的图片比例,进行横向9宫格排列,原则是尽量排列的整齐,不要多余出来格子 ...
- Android 图片文件操作、屏幕相关、.9图片的理解
一:Android图片操作 1.存储bitmap到本地文件系统 public static void bitmapToFile(Bitmap bitmap, String uri) { if(!ex ...
- 从2D图片生成3D模型(3D-GAN)
https://blog.csdn.net/u014365862/article/details/54783209 3D-GAN是使用生成对抗网络学习2D图像到3D模型的映射,生成网络负责生成3D模型 ...
- ajax读取图片后排列问题(先加载完图片再排列)
网上找了个瀑布流的图片排列插件.从数据库读取图片路径后显示时出现了位置重叠问题. $.ajax({ type: "POST", url: "index.aspx" ...
- html中图片自适应浏览器和屏幕,宽度高度自适应
1.(宽度自适应):在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-wi ...
- HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验
AR技术已经被广泛应用于营销.教育.游戏.展览等场景.通过2D图像跟踪技术和3D物体跟踪技术,用户只需使用一台手机进行拍摄,即可实现海报.卡牌等平面物体以及文物.手办等立体物体的AR效果.尽管近年来2 ...
随机推荐
- centos7.2下安装python3.6.5
yum groupinstall 'Development Tools' 出现错误 系统 centos 7.3 使用命令 yum groupinstall 'Development Tools' 出现 ...
- Oracle ASMCMD命令参考
Oracle ASMCMD命令参考 0.什么是asm ASM它提供了以平台无关的文件系统.逻辑卷管理以及软RAID服务.ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以 ...
- 性能测试基础---ant集成2
·自定义报告模板:因为默认的ant提供的报告模板,是没有tps和90%line这样的数据.但是在实际工作中,这两个统计数据又是必须的,那么我们可以通过自定义(修改)的方式来进行修改,达到我们的目的. ...
- AjAX2 异步通信 异常处理
<!DOCTYPE html> <html lang="en"> <head> <title>xmlhttprequest ajax ...
- java JSONObject
JSONObject.has("key")方法首先判断是否含有该key字段,如果不存在该字段,返回false;如果存在此字段,还判断了该字段的value值是否为null,如果val ...
- C#的介绍
C#是一种面向对象的.运行于.net框架上的一种高级程序设计语言. 它的优点在于简单,类型安全,垃圾回收器自动回收内存,封装了许多常用的类,适合快速开发. 它的缺点在于依赖.net框架,跨平台支持有限 ...
- Pycharm过期了怎么办?
Pycharn过期了,打开Pycharm,选择help,倒数第三个register,用激活码进行激活,具体情况见激活码,侵删
- IIS 登录失败 该登陆名来自不受信任的域,不能与windows身份认证一起使用
原文:https://blog.csdn.net/hhw199112/article/details/80234462 错误: 登录失败 该登陆名来自不受信任的域,不能与windows身份认证一起使用 ...
- Stuts 文件上传
Stuts 文件上传 三种上传方案 1.上传到tomcat服务器 上传图片的存放位置与tomcat服务器的耦合度太高 2.上传到指定文件目录,添加服务器与真实目录的映射 ...
- 请指出document load和document ready的区别
document load文档的所有内容都加载完成 document ready文档的DOM加载完成