如图所示:

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)的更多相关文章

  1. WPF编程,通过DoubleAnimation控制图片的透明度,将重叠的图片依次显示。

    原文:WPF编程,通过DoubleAnimation控制图片的透明度,将重叠的图片依次显示. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307 ...

  2. 基于jQuery图片自适应排列显示代码

    基于jQuery图片自适应排列显示代码.这是一款基于jquery.flex-images插件实现的类似谷歌图片流效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  3. NGUI如何使2D图片按像素1:1显示在屏幕上

    NGUI版本为3.5.1. 将camera 设置为正交模式,size值设为1. UIRoot(2D)有3种缩放样式: 1.PixelPerfect.UI严格按照指定的像素大小显示,不会随着屏幕的分辨率 ...

  4. 横向图片墙排列算法及demo

    演示地址: http://codeman35.itongyin.com:19005/v1/9gg_v2.html 功能: 按照不同的图片比例,进行横向9宫格排列,原则是尽量排列的整齐,不要多余出来格子 ...

  5. Android 图片文件操作、屏幕相关、.9图片的理解

     一:Android图片操作 1.存储bitmap到本地文件系统 public static void bitmapToFile(Bitmap bitmap, String uri) { if(!ex ...

  6. 从2D图片生成3D模型(3D-GAN)

    https://blog.csdn.net/u014365862/article/details/54783209 3D-GAN是使用生成对抗网络学习2D图像到3D模型的映射,生成网络负责生成3D模型 ...

  7. ajax读取图片后排列问题(先加载完图片再排列)

    网上找了个瀑布流的图片排列插件.从数据库读取图片路径后显示时出现了位置重叠问题. $.ajax({ type: "POST", url: "index.aspx" ...

  8. html中图片自适应浏览器和屏幕,宽度高度自适应

    1.(宽度自适应):在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-wi ...

  9. HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验

    AR技术已经被广泛应用于营销.教育.游戏.展览等场景.通过2D图像跟踪技术和3D物体跟踪技术,用户只需使用一台手机进行拍摄,即可实现海报.卡牌等平面物体以及文物.手办等立体物体的AR效果.尽管近年来2 ...

随机推荐

  1. docker 搭建自己的仓库

    1.下载registry镜像 docker pull registry 2.查看端口信息 netstat -ntlp 3.启动registry镜像 docker run -d -p 5000:5000 ...

  2. 07-numpy-笔记-join

    字符串.join(字符串序列) 一目了然: #!/usr/bin/python # -*- coding: UTF-8 -*- str = "-"; seq = ("a& ...

  3. PassArrayByCopy_test.php

    <?php //PassArrayByCopy_test.php $a=array("a","b","c"); function te ...

  4. .Net反射-基础1-Assembly、Type

    Assembly:封装程序集信息,可以动态加载程序集 获取Assembly的几种方式: 1.var ass1 = Assembly.Load("ClassLibrary1");// ...

  5. python发邮件报错SMTP AUTH extension not supported by server."

    在login(username,password)之前添加 smtp.ehlo() smtp.starttls() d ={'smtp_server': '','smtp_email': '','sm ...

  6. 联想笔记本上Ubuntu无线网卡问题

    可能有两个问题: 1.无无线网卡驱动 2.无线网卡驱动不能自动加载 问题1:无线网卡驱动 百度出网卡驱动iwlwifi-9000,如iwlwifi-9000-pu-b0-jf-b0-34.618819 ...

  7. map函数怎么用咧↓↓↓

    Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数:    map<st ...

  8. 【BigData】Java基础_构造方法的使用

    需求描述 实现上图需求,根据输入的三个人的信息,分别计算出这个三个客户的平均年龄和最大年龄 涉及知识点: ①构造方法 ②字符串切割 ③对象数组 代码实现 代码结构图: package cn.test. ...

  9. react + node + express + ant + mongodb 的简洁兼时尚的博客网站

    前言 此项目是用于构建博客网站的,由三部分组成,包含前台展示.管理后台和后端. 此项目是基于 react + node + express + ant + mongodb 的,项目已经开源,项目地址在 ...

  10. C# PKCS7加密解密

    //加密字符串 public string Encryption(string toE) { //加密和解密必须采用相同的key,具体自己填写,但是必须为32位 "); RijndaelMa ...