unity一些知识

加载文件夹中图片

icon.sprite = Resources.Load("Com/gem-01", typeof(Sprite)) as Sprite;

地址是Assets下Resources文件夹内

判断物体显示隐藏

 if (this.gameObject.activeInHierarchy){
}

判断集合内是否包含某个元素

 if (a.Contains(serial))
            {
                item.gameObject.SetActive(true);
            }
            else
            {
                item.gameObject.SetActive(false);
            }

属性标签

[Header("攻击")]

unity里面定义不支持中文但是可以加上标签让自己明白

添加菜单方法

 //创建地面
    [MenuItem("MyTools/CreatingGroundGrid/创建", false, 1)]

菜单方法点击的对象

Selection.activeObject

/// <summary>
    /// 删除某个数据
    /// </summary>
    [MenuItem("MyTools/Delete %g", false, 1)]
    static void Delete()
    {
        Object selectedObject = Selection.activeObject;
        Transform[] father = ((GameObject)selectedObject).GetComponentsInChildren<Transform>();
        foreach (var child in father)
        {
            foreach (Transform ch in child)
            {
                if (ch!=null&&ch.GetComponent<BoxCollider>()!=null&&ch.gameObject.name == "Base")
                {                  
                    DestroyImmediate(ch.gameObject);
                    break;
                }               
            }
        }
    }

隐藏属性

[HideInInspector]
[System.NonSerialized]

两个都能让属性在面板上看不到

在面板上建立自己的按钮

 [MenuItem("MyTools/ShortcutKey %g", false, 1)]

Selection.activeObject//当前点击的物体

将参数显示为滑动条

[Range(0,100)]

物体颜色显示错误

今天我遇到的是绿色的龙显示为黄色,但是在scene界面和geme界面显示正常,发布到手机时显示不正常,但是光效和灯光显示没有问题,最后发现是质量问题Quality

绿色显示为你输出时候选择的质量灰色是操作端gem显示的质量

操作界面获取鼠标点击的物体

 Object selectedObject = Selection.activeObject;//鼠标当前点击的物体
Transform father = ((GameObject)selectedObject).GetComponent<Transform>();
//确定点击的物体是自己想要的,强制转换为可操作的

多个canvas下的UI不会互相遮挡哪怕全屏Image也不会遮挡下一个的按钮,同canvas下的ui才会有遮挡问题

Unity跳转固定网页

 string tempUrl = string.Format("https://www.baidu.com/?tn=18029102_8_oem_dg");
        Application.OpenURL(tempUrl);

代码动态修改游戏‘质量’

 QualitySettings.SetQualityLevel(0, true);//等级,执行(修改消耗资源,多次修改时关闭,建设大规模资源消耗)

冒泡排序的简略写法

gemModes.Sort((left, right) => {
                    if (left.attribute < right.attribute)
                        return 1;
                    else if (left.attribute == right.attribute)
                        return 0;
                    else
                        return -1;
                });

传递方法

public Action A;
 public Action <int> AI;

public void CS()
{
A=AA;
AI=AAI;
}
public void AA()
{
}
public void AAI(int i)
{
}
public void PRINT()
{
A();//调用AA方法
AI(6);//调用AAI方法
}

获取时间 转换格式

 string aa = System.DateTime.Now.ToString("yyyyMMddHHmmss");//获取本地时间 年月日时分秒
        int ii = System.Convert.ToInt32(aa);//转换成int


TotalDays 天
TotalHours 时
TotalMInutes 分
(System.DateTime.Now - time).TotalSeconds;//获取两个时间相差的秒数

Milliseconds 毫秒
Application.internetReachability == NetworkReachability.NotReachable// 无网络

Unity取值 非四舍五入

 System.Math.Truncate(123.67)=123//需要不四舍五入时

Unity Text自适应长度

//添加后随着内容增加长度也随之变化

Unity 字符串截取

strint aa="123456789"
string bb=aa.Substring(2, 3);

Unity 点击UI移动 简易背包

https://www.jianshu.com/p/04fc7958925c

Unity 时间之类的显示

int time=6;
string tim=time.toString("f0").PadLeft(2,'0');
==>06

Unity使物体不随着场景转变销毁

GameObject.DontDestroyOnLoad(this.gameObject);//不销毁对象

Unity 打包的 腾讯签名不支持V2

暂时不支持APK Signature Scheme v2

cmd重新签名 打包出来的

jarsigner -verbose -keystore "keystore签名文件" -signedjar "新apk.apk" "要修改的APK.apk" "别名"


签名的时候报的问题:

jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed size (expected 5067 but got 5217 bytes)

解决的方法:

说明待签的apk是已经签名过的,如果想重新签名的话可以这样做

把要重签名的apk后缀改成zip,打开后删除里面的META-INF目录,然后重新改成apk后缀

C#快捷方法

 count = new list<int>() .Count(t => t == 1);//获取集合内有多少1

反遮罩

创建材质球

UI创建图片分别拖材质,mask1的可以在mask2的里面显示白色界面,用来新手引导亮圈显示.

UI拖拽类方法

IBeginDragHandler, 拖拽开始
 IDragHandler,拖拽持续 
IEndDragHandler, 拖拽结束
IPointerClickHandler, 点击
IPointerDownHandler,按下
 IPointerUpHandler抬起

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值