Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 3987.00元

sql 恶意注入问题

[展开全文]
高伟程 · 2020-04-04 · 0

Extension文件夹:存放所有的扩展类

//这样在字典中取值比较麻烦
string myValue;
dic.TryGetValue(key,out myValue);

=========为内置的字典类扩展方法===========
using System.Collections;
using System.Collections.Generic;

public static class DictionaryExtension{
    // 尝试根据key得到value,得到了返回value,没有得到直接返回null
    public static Tvalue TryGet<Tkey,Tvalue>(this Dictionary<Tkey,Tvalue> dict,Tkey key){
        Tvalue mvalue;
        dict.TryGetValue(key,out mvalue);
        return mvalue;
    }
}

// 使用扩展方法
string result = myDic.TryGet("keyStr");

 

[展开全文]
Character · 2020-03-27 · 1
using system;
public enum MyEnum
{
    TypeOne,
    TypeTwo,
    TypeThree,
    TypeFour
}
[Serializable]
public class MyJsonData : ISerializationCallbackReceiver
{
    [NonSerialized]
    public MyEnum myEnum;

    public string typeString;

    /// <summary>
    /// 反序列化之后调用此方法
    /// 反序列化:文本信息 -> 对象
    /// </summary>
    public void OnAfterDeserialize()
    {
        myEnum = (MyEnum)Enum.Parse(typeof(MyEnum), typeString);
    }

    /// <summary>
    /// 序列化之前调用此方法
    /// 序列化:对象 -> 文本信息
    /// </summary>
    public void OnBeforeSerialize()
    {
    }
}

MyJsonData jsonData = JsonUtility.FromJson<MyJsonData>("{\"typeString\":\"TypeThree\"}");
print(jsonData.myEnum.ToString());

 

[展开全文]
Character · 2020-03-27 · 0

移动节点至头部,不需要在最后判断Tail是否为空.

if (pNode == Tail) Tail = pNode.prev;这一句已经判断过了.

[展开全文]
夜魅 · 2020-03-25 · 0

回调方法,结束以后,把信息传递给了clientsocket,再定义一个socket等于ar里返回结果的socket。

(相当于复制下来)。

[展开全文]
NatuRally · 2020-03-19 · 0

Send不会堵塞?

UTF8.GetByte()

Socket.Receive()返回一个int型的值(count)。这个值是接受的字符串的长度,以便知道读取多少位,方便数据转化。

[展开全文]
NatuRally · 2020-03-19 · 0

/// <summary>
    /// 把某个节点移到头部
    /// </summary>
    /// <param name="pNode"></param>
    public void MoveToHead(DoubleLinkedListNode<T> pNode)
    {
        if (pNode == null || pNode == Head)
            return;

        if (pNode.prev == null && pNode.next == null)
            return;

        if (pNode == Tail)
            Tail = pNode.prev;

        if(pNode.prev != null)
            pNode.prev.next = pNode.next;

        if (pNode.next != null)
            pNode.next.prev = pNode.prev;

        pNode.prev = null;
        pNode.next = Head;
        Head.prev = pNode;
        Head = pNode;

        //这里不对
        if (Tail == null)
            Tail = Head;
    }

 

//最后一句代码有误吧,想不出例子可以证明(Tail == null)

[展开全文]
Cornm1 · 2020-03-19 · 0

尽量少使用 if else

尽量少嵌套

[展开全文]
塔比图 · 2020-03-16 · 0

float、half、fixed在PC上没有太大却别,在移动端区别比较明显。

[展开全文]
塔比图 · 2020-03-16 · 0

切线范围为-1~1

法线范围为-1~1

[展开全文]
塔比图 · 2020-03-16 · 0

GameObject.Find("Canvas").transform

GameObject go=Resources.Load<GameObject>("GamePanel");

GameObject panel=GameObject.Instantiate(go);

panel transform SetParent(UIParent,false);

[展开全文]
歌之守护者 · 2020-03-10 · 0

实测粘包没有吧一个数据分成一半传输。

[展开全文]
高伟程 · 2020-03-09 · 0

我猜解决方案就是在每条消息上,加上标记。

[展开全文]
高伟程 · 2020-03-08 · 0

3次for循环,100*100*100次。这增大数据快。

同步,没分包问题?这需要测试下。

siki老师说的对,同步有分包为题,而异步没有。神奇。

[展开全文]
高伟程 · 2020-03-08 · 0

面向过程果然不如面向对象。客户端链接过来时,可以在服务器端创建个客户端对象,这样简洁多了。

[展开全文]
高伟程 · 2020-03-08 · 0

单例核心

1.定义一个静态对象 在外部访问,内部实现

2.构造方法私有化

确保只有一个实例

 

复习:怎么实现单例模式?

[展开全文]
zecymo · 2020-03-06 · 0

UIPaneltype.cs

枚举类型,记录panel类型

UIPaneltype.json

描述加载路径

[展开全文]
zecymo · 2020-03-06 · 0

实现瞬移:

在手柄上挂在以下两个脚本

VRTK_Controller Events

VRTK_Bezier Pointer

在CameraRig上挂载

VRTK_Height Adjust Teleport

 

可在 Events脚本下设置按键

可在Bezier脚本下 Layers To Ignore设置忽略层

缩小被萨尔曲线的检测范围可以缩小模型的collider

 

[展开全文]
鬼猫三岁 · 2020-03-06 · 0

等比例缩小 shift+拖动

[展开全文]
zecymo · 2020-03-06 · 0

unity现在不是mono架构了,蛋疼。垃圾算法,内存和性能都不是最好的。

[展开全文]
高伟程 · 2020-03-05 · 0