<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[L877790502的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/L877790502</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; L877790502]]></copyright><item><title><![CDATA[Restful 学习笔记]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/123748842</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/123748842</guid><author>L877790502</author><pubDate>Sat, 26 Mar 2022 00:45:46 +0800</pubDate><description><![CDATA[REpresentational State Transfer:表征性状态转移

1.无状态

2.面向资源

3.使用Http动词（相同的URL可以根据不同的http请求做出不同的操作）

4.HATOAS 超媒体即应用状态引用

Restful 六个约束限制

1.Client-Server 前后端分离

2.无状态架构:请求独立 根据请求的信息来处理服务 不需要保存客户端状态

3.分层系统：表示层---业务逻辑层----数据访问层

4.统一接口：前后端统一接口，API自我发现

5.可缓存约束：防]]></description><category></category></item><item><title><![CDATA[二叉树的四种遍历方式]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/120127890</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/120127890</guid><author>L877790502</author><pubDate>Wed, 08 Sep 2021 14:06:34 +0800</pubDate><description><![CDATA[1.前序遍历：若二叉树为空，则返回空操作，否则先访问跟结点，然后前序遍历左子树，在前序遍历右子树（先遍历输出当前结点，在遍历输出左结点，在遍历输出右结点）：如图二叉树先序遍历的结果是：ABDGHCEIF

注：叶子结点的父亲结点称为当前结点



2.中序遍历：若二叉树为空返回空操作，否则从跟结点开始（注意不是先访问根结点），中序访问跟几点的左子树，然后是访问根结点，最后中序遍历右子树（先遍历输出左结点，在遍历输出当前结点，最后遍历输出右结点），如图二叉树中序遍历结果为：GDHBAEICF



3....]]></description><category></category></item><item><title><![CDATA[Unity 一句代码让角色碰撞器紧贴地面]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/118230918</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/118230918</guid><author>L877790502</author><pubDate>Fri, 23 Jul 2021 19:09:01 +0800</pubDate><description><![CDATA[m_CharacterController.SimpleMove(transform.position + new Vector3(0, -1000, 0) - transform.position);


]]></description><category></category></item><item><title><![CDATA[Unity 二进制数据转换为AudioClip]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/119042479</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/119042479</guid><author>L877790502</author><pubDate>Fri, 23 Jul 2021 19:05:38 +0800</pubDate><description><![CDATA[public static class NAudioPlayer
{
    public static AudioClip FromMp3Data(byte[] data)
    {
      
        MemoryStream mp3stream = new MemoryStream(data);
       
        Mp3FileReader mp3audio = new Mp3FileReader(mp3stream);
        WaveStream waveStr.]]></description><category></category></item><item><title><![CDATA[理解EventArgs和EventHandle]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/118113101</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/118113101</guid><author>L877790502</author><pubDate>Sun, 04 Jul 2021 11:09:25 +0800</pubDate><description><![CDATA[public class TestEventHandle : MonoBehaviour
{


  private void Start()
  {


    Consumer cr= new Consumer("Test");


    CarDealer carDealer = new CarDealer();


    carDealer.NewCarInfo += cr.NewCarIsHere;

    carDealer.NewCar("what...]]></description><category></category></item><item><title><![CDATA[计算机各种进制转换]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/115727334</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/115727334</guid><author>L877790502</author><pubDate>Thu, 15 Apr 2021 17:26:19 +0800</pubDate><description><![CDATA[二进制转换十进制

规则：从最低位开始（右边的），将每个位的数据提取出来，乘以2的（位数-1）次方，然后求和

例如：1110 这里 从右到左 0的位数就是1 从右到左位数递增



根据定义的公式就是 0*（2零次方）+1*2+1*2²+1*2³ = 14，因为零×任何数都是零 所以二进制中遇到零直接忽略计算就ok

八进制转换十进制

规则：从右方最低位开始，将每个位上的数提取出来，乘以8的（位数-1）次方，然后求和

例如：八进制的123转换为十进制就是  3*8零次方 + 2乘以8...]]></description><category></category></item><item><title><![CDATA[Unity  使用Litjson 取出Json中指定字段]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/115693314</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/115693314</guid><author>L877790502</author><pubDate>Wed, 14 Apr 2021 10:52:55 +0800</pubDate><description><![CDATA[JsonData jsonData = JsonMapper.ToObject&lt;JsonData&gt;(obj);//obj是json格式的string

string str = jsonData["指定字段"].ToJson();


]]></description><category></category></item><item><title><![CDATA[讯飞语音合成和百度语音合成，粘贴就能用]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/115673458</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/115673458</guid><author>L877790502</author><pubDate>Tue, 13 Apr 2021 17:28:50 +0800</pubDate><description><![CDATA[XFAudioComp 脚本中包含连接讯飞相关方法（其中讯飞使用Websocket 我使用的 BestHttp插件，插件在我资源里可以找到）


using BestHTTP.WebSocket;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;

public class XFAudioComp
{

    /// &lt;su..]]></description><category></category></item><item><title><![CDATA[Unity  不规则按钮点击实现方案]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/115317897</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/115317897</guid><author>L877790502</author><pubDate>Tue, 30 Mar 2021 09:46:17 +0800</pubDate><description><![CDATA[using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class PolygonImage : Image, IPointerEnterHandler, IPointerExitHandler
{

    private PolygonCollider2D m_PolygonCol.]]></description><category></category></item><item><title><![CDATA[Unity  打印不同颜色日志]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/115274826</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/115274826</guid><author>L877790502</author><pubDate>Sun, 28 Mar 2021 00:38:02 +0800</pubDate><description><![CDATA[public class Log
    {
        /// &lt;summary&gt;
        /// 打印不同颜色日志
        /// &lt;/summary&gt;
        /// &lt;param name="conetnt"&gt;内容&lt;/param&gt;
        /// &lt;param name="color"&gt;颜色(默认输出黑色 不服可以改)&lt;/param&gt;
        public static void ..]]></description><category></category></item><item><title><![CDATA[AssetBundel 打包注意事项]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/115068855</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/115068855</guid><author>L877790502</author><pubDate>Mon, 22 Mar 2021 11:28:18 +0800</pubDate><description><![CDATA[将频繁更新的对象与很少更改的对象拆分到不同的 AssetBundle 中
将可能同时加载的对象分到一组。例如模型及其纹理和动画
如果发现多个 AssetBundle 中的多个对象依赖于另一个完全不同的 AssetBundle 中的单个资源，请将依赖项移动到单独的 AssetBundle。如果多个 AssetBundle 引用其他 AssetBundle 中的同一组资源，一种有价值的做法可能是将这些依赖项拉入一个共享 AssetBundle 来减少重复。
如果不可能同时加载两组对象（例如标清资源和高清资源）.]]></description><category></category></item><item><title><![CDATA[获取当前点击UI游戏对象]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/113744443</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/113744443</guid><author>L877790502</author><pubDate>Sun, 07 Feb 2021 17:21:05 +0800</pubDate><description><![CDATA[EventSystem.current.currentSelectedGameObject;
]]></description><category></category></item><item><title><![CDATA[Unity  异步Post 请求方式]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/113588822</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/113588822</guid><author>L877790502</author><pubDate>Wed, 03 Feb 2021 10:52:33 +0800</pubDate><description><![CDATA[private async Task&lt;bool&gt; SendTrainingResult(PracticeRecords practiceRecords)
  {
    bool isSendSucceed = true;
    JsonData jsonData = new JsonData();

    jsonData["UserID"] = practiceRecords.UserID;

    jsonData["ModelID"] = p...]]></description><category></category></item><item><title><![CDATA[屏幕坐标转换到UGUI坐标]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/111191142</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/111191142</guid><author>L877790502</author><pubDate>Tue, 15 Dec 2020 09:25:34 +0800</pubDate><description><![CDATA[RectTransformUtility.ScreenPointToLocalPointInRectangle()

将一个屏幕空间点转换为 RectTransform 的本地空间中位于其矩形平面上的一个位置。

cam 参数应为与此屏幕点关联的摄像机。对于设置为 Screen Space - Overlay 模式的 Canvas 中的 RectTransform，cam 参数应为 null。
当从提供 PointerEventData 对象的事件处理程序中使用 ScreenPointToLocalPoi.]]></description><category></category></item><item><title><![CDATA[Unity获取电脑Mac地址]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/111179542</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/111179542</guid><author>L877790502</author><pubDate>Mon, 14 Dec 2020 17:11:08 +0800</pubDate><description><![CDATA[public string GetMacAddress()
    {
        string physicalAddress = "";
        NetworkInterface[] nice = NetworkInterface.GetAllNetworkInterfaces();

        foreach (NetworkInterface adaper in nice)
        {
            if (adaper.Description == ...]]></description><category></category></item><item><title><![CDATA[UGUI画线]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/110425391</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/110425391</guid><author>L877790502</author><pubDate>Tue, 01 Dec 2020 11:10:24 +0800</pubDate><description><![CDATA[/// &lt;summary&gt;
  /// UGUI画线 
  /// &lt;/summary&gt;
  /// &lt;param name="oragin"&gt;位置起始点&lt;/param&gt;
  /// &lt;param name="end"&gt;位置结束点&lt;/param&gt;
  /// &lt;param name="parent"&gt;素材的父物体（素材就是一个Image）&lt;/param&gt;
  public void ...]]></description><category></category></item><item><title><![CDATA[值类型和引用类型到底有什么区别]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/110352797</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/110352797</guid><author>L877790502</author><pubDate>Sun, 29 Nov 2020 20:36:50 +0800</pubDate><description><![CDATA[程序在运行时，它的数据必须在内存中！一个数据项需要多大内存、存储在什么地方、以及如何存储都依赖于该数据项的数据类型，
运行中的程序使用两个内存区来存储数据，没错就是我们常说的“堆”和“栈”，栈是一个内存数组遵循后进先出原则，系统接管所有栈，不需要我们在做任何处理，
栈中一般存储某些类型变量的值、程序当前的执行环境、传递给方法的参数。
堆是一块内存区域，在堆里可以分配大块的内存用于存储某类型的数据，与栈不同堆里的内存可以任意顺序存入和移除，数据项的类型定义了存储数据需要的内存大小、
组成该类型的数据成员以及该]]></description><category></category></item><item><title><![CDATA[使用UnityWebRequest发送Web请求]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/109998393</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/109998393</guid><author>L877790502</author><pubDate>Mon, 23 Nov 2020 15:42:28 +0800</pubDate><description><![CDATA[private IEnumerator SendMessage(string url,string data)
    {
       
        using (UnityWebRequest uw = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
        {
            UploadHandler uploader = new UploadHandlerRaw(System.Text.Encoding.UTF.]]></description><category></category></item><item><title><![CDATA[UGUI 文本框根据文字内容自适应（自己计算方式）]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/109227528</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/109227528</guid><author>L877790502</author><pubDate>Thu, 22 Oct 2020 18:06:45 +0800</pubDate><description><![CDATA[总体思路就是，得到文本框内单个文字宽高，然后根据文本框的宽度算出一行应该有多少文字，然后根据文本框内总的文本数量除以一行文字数量得到行数，最后通过行数加行间距乘以单个文字高度在设置给文本框就可以了！！！代码附上，自己研究。


using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class AdaptScripts ]]></description><category></category></item><item><title><![CDATA[数据结构与算法]]></title><link>https://blog.youkuaiyun.com/L877790502/article/details/84889045</link><guid>https://blog.youkuaiyun.com/L877790502/article/details/84889045</guid><author>L877790502</author><pubDate>Tue, 27 Aug 2019 17:44:01 +0800</pubDate><description><![CDATA[目录

第一回合：数据结构基本概念

第二回合：算法基本概念

第三回合：线性表顺序存储结构

第四回合：线性表链式存储结构

第五回合：静态链表和循环链表

第六回合：栈

第七回合：队列

第八回合：串

                     ...]]></description><category></category></item></channel></rss>