<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[stalendp的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/stalendp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; stalendp]]></copyright><item><title><![CDATA[象棋相关]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/109575430</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/109575430</guid><author>stalendp</author><pubDate>Mon, 09 Nov 2020 12:51:34 +0800</pubDate><description><![CDATA[控制台打印棋盘：



代码如下：


var util = require('util');

str = "\
 1   2   3   4   5   6   7   8   9\n\
 %s━━%s━━%s━━%s━━%s━━%s━━%s━━%s━━%s \n \
┃   │   │   │ ╲ │ ╱ │   │   │   ┃ \n \
%s──%s──%s──%s──%s──%s──%s──%s──%s \n \
┃   │   │   │ ╱ │ ╲ │   │   │   ┃ \n \
%]]></description><category></category></item><item><title><![CDATA[Anki笔记相关]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/106301963</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/106301963</guid><author>stalendp</author><pubDate>Sat, 23 May 2020 16:24:17 +0800</pubDate><description><![CDATA[Anki是一个非常不错的记忆卡片工具，但是编辑界面比较简陋。

1. 这里将使用TinyMCE的粘贴功能，来获取word等工具编辑的文本，然后再转化成html，贴到anki中。


&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script src='https://cdn.tiny.cloud/1/no-api-key/tinymce/4.9.10-80/tinymce.min.js'&gt;
  tinymce.init({
    selec.]]></description><category></category></item><item><title><![CDATA[RStudio实验]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/104081783</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/104081783</guid><author>stalendp</author><pubDate>Fri, 24 Jan 2020 22:22:27 +0800</pubDate><description><![CDATA[参考：https://ocw.mit.edu/courses/mathematics/18-05-introduction-to-probability-and-statistics-spring-2014/readings/r-tut1b.html


# Goal: estimate the probability of getting a sum
# of 7 when rolling tw...]]></description><category></category></item><item><title><![CDATA[【Unity】技巧集合3]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/86923346</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/86923346</guid><author>stalendp</author><pubDate>Sun, 10 Feb 2019 19:10:35 +0800</pubDate><description><![CDATA[1. Node.js读取Excel文本相关

https://www.npmjs.com/package/read-excel-file

2. 血条位置更新：
相关参考：RectTransformUtility


// 更新血条位置
void LateUpdate() {
    var sPos = RectTransformUtility.WorldToScreenPoint(Camera...]]></description><category></category></item><item><title><![CDATA[Unity Steering]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/86612536</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/86612536</guid><author>stalendp</author><pubDate>Wed, 23 Jan 2019 16:18:51 +0800</pubDate><description><![CDATA[Unity相关的Steering技术：

https://github.com/antonpantev/unity-movement-aihttps://github.com/ricardojmendez/UnitySteer/tree/v3.0.0]]></description><category></category></item><item><title><![CDATA[【Shader】Signed Distance Fields]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/86590961</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/86590961</guid><author>stalendp</author><pubDate>Tue, 22 Jan 2019 10:56:19 +0800</pubDate><description><![CDATA[关键词：distance Field  realtime， SDF： Signed Distance Field

A simple and efficient method is presented which allows improved rendering of glyphs composed of curved and linear elements. A distance field ...]]></description><category></category></item><item><title><![CDATA[Unity高效计算相关]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/86358911</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/86358911</guid><author>stalendp</author><pubDate>Sat, 12 Jan 2019 14:04:59 +0800</pubDate><description><![CDATA[Compute Shader：

https://docs.unity3d.com/Manual/class-ComputeShader.htmlhttp://www.emersonshaffer.com/blog/2016/5/11/unity3d-compute-shader-introduction-tutorialhttp://kylehalladay.com/blog/tutorial/...]]></description><category></category></item><item><title><![CDATA[【Shader】各种Shader效果的合集]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/85166580</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/85166580</guid><author>stalendp</author><pubDate>Fri, 21 Dec 2018 17:50:49 +0800</pubDate><description><![CDATA[1.The Fresnel Effect

参考:https://www.dorian-iten.com/fresnel/





实用的shader：


Shader &quot;HeroShader/Character&quot; {
	Properties {
		_Tint (&quot;Tint&quot;, Color) = (1, 1, 1, 0.2)   // a通道用来控制halfLambert的参数，用来提亮...]]></description><category></category></item><item><title><![CDATA[【Shader】2D阴影]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/84243231</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/84243231</guid><author>stalendp</author><pubDate>Mon, 19 Nov 2018 13:28:41 +0800</pubDate><description><![CDATA[2D阴影


using UnityEngine;
public class Shadow2D : MonoBehaviour {
    public Material matShadow;
    public Texture texture;
    private RenderTexture targetRT;

    void Start() {
        targetRT = ...]]></description><category></category></item><item><title><![CDATA[一个Unity的WebGL的资源更新逻辑]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/82498622</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/82498622</guid><author>stalendp</author><pubDate>Fri, 07 Sep 2018 16:23:20 +0800</pubDate><description><![CDATA[直接贴代码了


// md5 function
!function (n) { &quot;use strict&quot;; function t(n, t) { var r = (65535 &amp;amp; n) + (65535 &amp;amp; t); return (n &amp;gt;&amp;gt; 16) + (t &amp;gt;&amp;gt; 16) + (r &amp;gt;&amp;gt; 16) &amp;lt;&amp;lt; 16 | 65535 &amp;amp..]]></description><category></category></item><item><title><![CDATA[WebGL改造笔记]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/79860936</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/79860936</guid><author>stalendp</author><pubDate>Mon, 09 Apr 2018 09:06:59 +0800</pubDate><description><![CDATA[这段时间需要把原有的一个老项目改造成WebGL版本，遇到了一些困难，这里将记录改造的一些情况。

用Node.js来管理游戏内容


var express = require('express');
var app = express();
app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.use(ex...]]></description><category></category></item><item><title><![CDATA[苹果证书系统理解]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/79742170</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/79742170</guid><author>stalendp</author><pubDate>Thu, 29 Mar 2018 14:29:02 +0800</pubDate><description><![CDATA[在IOS开发的过程中，很多情况下会和证书打交道。比如需要在xcode上进行调试开发，需要做APNs功能（或者在FCM上配置推送)等。所以，理解证书体系是很重要的。这里将对证书的原理做一个解释，以供参考。待续...参考文章：https://www.jianshu.com/p/1cf327b3d05c...]]></description><category></category></item><item><title><![CDATA[一个有趣的Unity多线程练习例子]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/79298545</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/79298545</guid><author>stalendp</author><pubDate>Fri, 09 Feb 2018 15:26:16 +0800</pubDate><description><![CDATA[这里将记录一些C#线程相关的信息，将持续更新，最总将形成一个工具类，方便在Unity中使用。

一些Tips：

1）Monitor VS. Mutex

Difference between mutex and monitor.

The biggest difference between the two is the scope: a mutex's scope is system-w...]]></description><category></category></item><item><title><![CDATA[安卓编译环境设置]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/79172118</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/79172118</guid><author>stalendp</author><pubDate>Fri, 26 Jan 2018 14:40:58 +0800</pubDate><description><![CDATA[android {
    compileSdkVersion 23
    buildToolsVersion &quot;27.0.2&quot;

    defaultConfig {
        applicationId &quot;com.ucool.heroesarena&quot;
        minSdkVersion 16
        targetSdkVersion 19

        ndk {...]]></description><category></category></item><item><title><![CDATA[Node.js脚本集锦]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/79077859</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/79077859</guid><author>stalendp</author><pubDate>Tue, 16 Jan 2018 18:28:54 +0800</pubDate><description><![CDATA[运行命令行（TODO，日志输出需要改进）


const proc = require('child_process');

var x = function(cmd, showCmd) {
    console.log('&gt;&gt; ' + cmd);
    return new Promise((resolve, reject) =&gt; {
        var p = pr...]]></description><category></category></item><item><title><![CDATA[Golang技巧合集]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/78580871</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/78580871</guid><author>stalendp</author><pubDate>Mon, 20 Nov 2017 11:48:35 +0800</pubDate><description><![CDATA[https://channel9.msdn.com/Blogs/MVP-VisualStudio-Dev/Get-Started-with-Visual-Studio-Code-and-Golang]]></description><category></category></item><item><title><![CDATA[Python技巧]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/78536536</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/78536536</guid><author>stalendp</author><pubDate>Tue, 14 Nov 2017 23:53:03 +0800</pubDate><description><![CDATA[1. python中struct和union的代码 (参考 
Does Python has bitField?)
#!/usr/bin/env python
import ctypes
c_uint8 = ctypes.c_uint8

class Flags_bits(ctypes.Structure):
    _fields_ = [
            ("logout", c_]]></description><category></category></item><item><title><![CDATA[Unity中状态机模式的简单封装]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/78025509</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/78025509</guid><author>stalendp</author><pubDate>Tue, 19 Sep 2017 00:51:48 +0800</pubDate><description><![CDATA[游戏中的逻辑少不了用状态机。但是面对复杂的状态（比如战斗角色控制，复杂的UI状态控制等），用状态机模式是最合适不过的了。结合C#的特点，我对状态机模式进行了简化。

完善的fsm：


public abstract class FSM&amp;lt;T&amp;gt; : MonoBehaviour {
    static System.Action FuncVoid = () =&amp;gt; {};
    p...]]></description><category></category></item><item><title><![CDATA[【OpenGL】OpenGL中的Buffer的巧妙使用]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/56484513</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/56484513</guid><author>stalendp</author><pubDate>Wed, 22 Feb 2017 14:07:56 +0800</pubDate><description><![CDATA[这篇文章，将记录OpenGL中的Buffer的巧妙使用。
参考：
https://docs.unity3d.com/Manual/SL-Stencil.html

https://alastaira.wordpress.com/2014/12/27/using-the-stencil-buffer-in-unity-free/]]></description><category></category></item><item><title><![CDATA[手工使用Protobuf-net工具来序列化对象]]></title><link>https://blog.youkuaiyun.com/stalendp/article/details/55271146</link><guid>https://blog.youkuaiyun.com/stalendp/article/details/55271146</guid><author>stalendp</author><pubDate>Thu, 16 Feb 2017 19:39:01 +0800</pubDate><description><![CDATA[如果用C#中Runtime的序列化方式，体积太大，因为序列化了好多类型信息。这个时候用protobuf是最好的选择。在Unity中，可以使用Protobuf-net。 下面是手工写proto的例子：
[ProtoContract]
public class Student {
    public Student() { } // 缺省构造函数一定要有，否则不能调用Deserialize]]></description><category></category></item></channel></rss>