NGUI下给Sprite/image添加collider后能自适应大小,但是在UGUI下Collider是默认在(0,0)位置,size为0

因此写了个简单的脚本,效果如下(最后附代码)

1.如下图添加Box Collider 2D后的默认位置与大小

2.给需要的物体添加Script并运行后的效果:

代码:

 using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class BoxColliderAdjust : MonoBehaviour { public bool AdjustBoxCollider = false;
private BoxCollider2D boxCollider2D;
private RectTransform gameObject;
// Use this for initialization
void Start () {
gameObject = this.GetComponent<RectTransform>();
boxCollider2D = this.GetComponent<BoxCollider2D>();
} // Update is called once per frame
void Update () {
if (boxCollider2D == null)
{
Debug.Log("can't find collider");
return;
}
else
{ if (AdjustBoxCollider == true)
{
boxCollider2D.offset = gameObject.rect.center; //把box collider设置到物体的中心
boxCollider2D.size = new Vector2(gameObject.rect.width, gameObject.rect.height); //改变collider大小
}
}
}
}

BoxColliderAdjust

Unity3d — — UGUI之Box Collider自适应大小的更多相关文章

  1. Unity3d UGUI 通用Confirm确认对话框实现(Inventory Pro学习总结)

    背景 曾几何时,在Winform中,使用MessageBox对话框是如此happy,后来还有人封装了可以选择各种图标和带隐藏详情的MessageBox,现在Unity3d UGui就没有了这样的好事情 ...

  2. Qt自适应大小显示图片,添加菜单

    由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...

  3. iOS HTML 字符串中的图片 自适应大小

    本文原文地址:http://www.cnblogs.com/qianLL/p/6095988.html 有时候 我们接收数据的时候  后台给的数据室一串HTML 的字符串  但是 我们要显示出来  这 ...

  4. Android项目实战(五):TextView自适应大小

    对于设置TextView的字体默认大小对于UI界面的好看程度是很重要的,小屏幕设置的文字过大或者大屏幕设置的文字过小都造成UI的不美观 现在就让我们学习自适应大小的TextView控件,即当文字长度变 ...

  5. css控制图片自适应大小

    相信大家做网页时经常会碰到大分辨率的图片会把表格涨破以致漂亮的网页面目全非,但只要使用以下的CSS语句即可解决.      该CSS的功能是:大于600的图片自动调整为600显示. <style ...

  6. iOS:定制自适应大小的透明吐司弹框

    一.简单介绍 创建一个吐司消息的黑色透明弹框,可以根据消息长短自适应大小. 可以手动创建手动显示手动关闭,也可以手动创建自动显示自动关闭. 简单好用. 二.代码使用 .h文件 // // LiveHU ...

  7. 【QT】QPixmap在Label中自适应大小铺满

    KeepAspectRatio:设置pixmap缩放的尺寸保持宽高比. setScaledContents:设置label的属性scaledContents,这个属性的作用是允许(禁止)label缩放 ...

  8. 使用Unity中的Box Collider组件完成游戏场景中的碰撞检测功能

    一.介绍 目的:通过Unity自带的组件完成游戏场景中的碰撞检测功能. 软件环境:Unity 2017.3.0f3 二.实现过程 1,在面板中点击Add Component按钮 2,添加Box Col ...

  9. Winform窗体控件自适应大小

    自己写的winform窗体自适应大小代码,代码比较独立,很适合贴来贴去不会对原有程序造成影响,可以直接继承此类或者把代码复制到自己的代码里面直接使用 借鉴了网上的一些资料,最后采用重写WndProc方 ...

随机推荐

  1. 使用Thunderbird时你可能会用到的技巧

    1.添加qq邮箱账号 (1).开启IMAP/SMTP服务 先在QQ网页邮箱-设置-账户:开启IMAP/SMTP服务(2). Thunderbird 里设定端口(非POP):IMAP:imap.qq.c ...

  2. jdk1.5-jdk1.9的主要区别

    jdk1.5相对以前jdk版本主要新增功能 1.自动拆箱和装箱 其中基本数据类型的包装类有:Double,Float,Long,Integer,Short,Character和Boolean 2.提供 ...

  3. 最简单的方式在linux上升级node.js版本

    node的升级频率太高,n模块来升级是最方便的,网上看了很多资料介绍使用n模块,但是安装n模块之后却经常找不到这个命令  很多同学安装之后直接去使用n会发现命令不存在,就停留在这一步无法前进了. 解决 ...

  4. Docker实战(三)之访问Docker仓库

    仓库是集中存放镜像的地方,分为公共仓库和私有仓库.一个容易与之混肴的概念是注册服务器.实际上注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像.从这方面来说 ...

  5. Android Studio更改工程名异常解决方案 :can't rename root module

    在修改Android Studio 中 project的名字时 ,提示 “can’t rename root module”. 这是因为Android Studio只能修改根目录内的所有文件,要修改p ...

  6. 关于WebSocket长链接的详细介绍iOS

    http://www.cocoachina.com/ios/20181030/25327.html

  7. Test随笔

    测试一级主题 测试二级主题 测试内容,修改会不会出现历史记录

  8. Ajax的async属性

    Ajax请求中的async:false/true的作用 官方的解释是:http://api.jquery.com/jQuery.ajax/ async Boolean Default: true By ...

  9. hdfs的java接口简单示例

    public class HDFSDemo { private FileSystem fs = null; @Before public void init() throws IOException, ...

  10. 强连通分量算法·$tarjan$初探

    嗯,今天好不容易把鸽了好久的缩点给弄完了--感觉好像--很简单? 算法的目的,其实就是在有向图上,把一个强连通分量缩成一个点--然后我们再对此搞搞事情,\(over\) 哦对,时间复杂度很显然是\(\ ...