2019年11月

安装NES模拟器fceux
sudo apt install fceux
fceux

安装Doom
sudo apt install prboom doom-wad-shareware
多人
prboom-game-server
prboom -net 172.20.0.1
单机
prboom

Gmu音乐播放器(我没整明白)
https://github.com/NeoTheFox/gmu-chip.git
https://wej.k.vu/projects/gmu/

命令行播放音乐(mp3不卡顿)
sudo apt-get install sox libsox-fmt-all
chip@chip:~/Music$ play 灰澈 - 森林.mp3
play *mp3 播放当前文件夹的所有mp3
Ctrl+C 下一曲

GUI版系统电量显示
先安装xfce4-genmon-plugin
sudo apt-get install xfce4-genmon-plugin
https://github.com/editkid/chip-battery-status

GUI版系统亮度调整
sudo apt-get install xfce4-power-manager-plugins

DOSBox
sudo apt-get install -y dosbox
sudo wget -O ~/.dosbox/dosbox-0.74.conf https://ganghood.net.cn/dosbox-0.74.conf
sudo nano /home/chip/.dosbox/dosbox-0.74.conf
这个配置文件的倒数第二行是DOSBox的C盘挂载路径
比如
MOUNT C /home/chip/Documents/DOSBox
C:
Install Price of Persia
wget http://www.bestoldgames.net/download/bgames/prince-of-persia.zip
unzip prince-of-persia.zip
Install Golden Axe
wget http://www.bestoldgames.net/download/bgames/wolfenstein-3d.zip
unzip wolfenstein-3d.zip
Install Wolfenstein 3D
wget http://www.bestoldgames.net/download/bgames/golden-axe.zip
unzip golden-axe.zip

通过命令行连接wifi(双引号不能少)
sudo nmcli d wifi connect "wifi名" password "wifi密码" wlan0

using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class UScrollRect : ScrollRect
{
    public RectTransform rect;
    /// <summary>
    /// 高度 往下拉是负数   往上拉是正数
    /// </summary>
    float dropValue = -30f;
    /// <summary>
    /// 是否刷新
    /// </summary>
    bool isRefresh = false;
    /// <summary>
    /// 是否处于拖动
    /// </summary>
    bool isDrag = false;
    /// <summary>
    /// 显示、隐藏刷新字段
    /// </summary>
    public Action<bool> OnValue;
    /// <summary>
    /// 如果满足刷新条件 执行的方法
    /// </summary>
    public Action OnRefresh;

    protected override void Awake()
    {
        base.Awake();
        rect = GetComponentInChildren<ContentSizeFitter>().GetComponent<RectTransform>();
        onValueChanged.AddListener(ScrollValueChanged);
    }

    /// <summary>
    /// 当ScrollRect被拖动时
    /// </summary>
    /// <param name="vector">被拖动的距离与Content的大小比例</param>
    void ScrollValueChanged(Vector2 vector)
    {
        //如果不拖动 当然不执行之下的代码
        if (!isDrag)
        {
            return;
        }
        //如果拖动的距离大于给定的值
        if (rect.anchoredPosition.y < dropValue)
        {
            isRefresh = true;
            if (OnValue != null)
            {
                OnValue(isRefresh);
            }
        }
        else
        {
            isRefresh = false;
            if (OnValue != null)
            {
                OnValue(isRefresh);
            }
        }
    }

    public override void OnBeginDrag(PointerEventData eventData)
    {
        base.OnBeginDrag(eventData);
        isDrag = true;
    }

    public override void OnEndDrag(PointerEventData eventData)
    {
        base.OnEndDrag(eventData);
        OnValue(false);
        if (isRefresh)
        {
            if (OnRefresh != null)
            {
                OnRefresh();
            }
        }
        isRefresh = false;
        isDrag = false;
    }
}