小编Ski*_*lGG的帖子

如何找到beizer曲线的中间点?

我想制作一个'命名的'贝塞尔曲线.我希望它是一个单词命名所以我不必担心自动换行.

我通过P5 bezier(sx,sy,c1x,c1y,c2x,c2y,ex,ey)函数制作贝塞尔曲线,我希望在贝塞尔曲线的中间显示一个字符串.但我不知道如何找到曲线的"中间".

现在我的结果看起来像这样(我不知道从哪里开始解决这个问题,所以我更简单的方法就是在曲线的开头打印文本):

R1

但我希望它看起来像这样:

R2

这意味着我需要P1和P2坐标:

R3

对不起油漆,但我还没有我的代码.一旦我掌握它,我会在这里添加它.

以下是绘制曲线的代码:

let
b = dest.inTriangle.middle, // destination triangle
g = this.outTriangle.p3,    // tip of out triangle
c = {x:b.x-g.x,y:b.y-g.y},  // distance between objects
r1 = {},                    // bezier point 1
r2 = {};                    // bezier point 2
if(c.x > 0){
    // b is on left
    r1 = {
        x: g.x + c.x/2,
        y: g.y
    };
    r2 = {
        x: b.x - c.x/2,
        y: b.y
    };
    }
else {
    // b is on …
Run Code Online (Sandbox Code Playgroud)

javascript bezier p5.js

7
推荐指数
1
解决办法
252
查看次数

如何初始化二维数组内的对象?

我有一个二维数组

BoardTile tiles[,];
Run Code Online (Sandbox Code Playgroud)

然后Init(Point size)设置它的大小:

tiles = new BoardTile[size.X, size.Y];
Run Code Online (Sandbox Code Playgroud)

以及如何初始化所有这些元素,因为它不使用默认BoardTile()构造函数。它只是分配null

foreach(BoardTile t in tiles) t = new BoardTile()

不起作用。当我尝试打电话时

foreach(BoardTile t in tiles) t.anything()
Run Code Online (Sandbox Code Playgroud)

我懂了NullReferenceException

c# multidimensional-array

3
推荐指数
1
解决办法
56
查看次数

是否可以在C#中的声明之外的其他文件中的其他类的主体内部创建类?

namespace Program 
{
    class Test 
    {
        public Test() { }

        public class InsideClass 
        {
              public InsideClass() { }

              public void Call() { }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是否可以Program::Test::InsideClass:: Call在同一Test之外的其他文件中写入的正文。

像在c ++中一样,有一个.h文件在其中声明函数,.cpp函数的主体在哪里。

c#

2
推荐指数
1
解决办法
82
查看次数

JS的外观支持是什么?如何更换?

我有一个字符串,我想替换所有不跟随/跟随任何其他i的'i',并将其替换为'z`.我知道有负面的前瞻和后视.

结果应该是:

i => z
iki => zkz
iiki => iikz
ii => ii
iii => iii
Run Code Online (Sandbox Code Playgroud)

我试着用这个:

/(?<!i)i(?!i)/gi
Run Code Online (Sandbox Code Playgroud)

它失败并抛出一个错误:Invalid regex group.

然而

/i(?!i)/gi
Run Code Online (Sandbox Code Playgroud)

工作正常,但匹配第二个"我":"ii".

还有其他方法吗?

如果有的话,对JS中的lookbehind的支持是什么?

javascript regex negative-lookbehind negative-lookahead

1
推荐指数
2
解决办法
314
查看次数

如何在没有node.js的情况下在js中建立客户端-客户端连接?

我正在尝试用 JS 制作简单的 Tic-Tac-Toe 游戏。

我几乎做了所有的事情。现在只有一件事要做。

我想让它可以与某人在线玩。

我想通过互联网在两个游戏之间发送数据。

不幸的是我的服务器不支持 Node.JS。

有没有一种方法可以在没有任何服务器端“套接字”的情况下实现这一点。

我想我可以用它来XMLHttpRequest()保存/加载数据到服务器文件中并像这样玩,但我认为这需要大量代码,也许对于 ttt 来说它会足够快,但对于更复杂的游戏它不会足够了。

我知道这很难,但是在 Node.js 之前他们是怎么做到的呢?

javascript xmlhttprequest websocket node.js

1
推荐指数
1
解决办法
1820
查看次数

$ function在vanilla(没有库)JS中意味着什么?

我想知道$ sign功能意味着什么.

它只是一个快捷方式,document.querySelector还是有更多用途.

我去了大约:空白页面并输入了控制台$.

Firefox的结果是:

function()

在Chrome中:

ƒ$(选择器,[startNode]){[命令行API]}

它可以作为快捷方式,document.querySelector()但我不确定它的名称以及浏览器对此的支持.

还有$$功能,作为document.querySelectorAll(),

$_ 存储最后的$/$$函数结果,

$0这只是参考document.body(我认为)

并且$x,我认为是XPath查询监守XPath的说法:

ƒ$ x(xpath,[startNode]){[命令行API]}

($x在控制台中输入时的chrome输出)

javascript dollar-sign

0
推荐指数
1
解决办法
128
查看次数

How to ensure a generic parameter is not Nullable?

I am trying to make a class GameOption that will hold three (really four) values:

  • Name of Option as string

  • An option as T

  • A default value as Nullable< T >

This how looks my class:

public class GameOption<T> {
    private T v;
    private string n;
    private T? def;
    public string Name { get => this.n; }
    public T Value { get => this.v; }
    public GameOption(T o, string name, T? def) {
        this.n = name;
        this.v = o;
    } …
Run Code Online (Sandbox Code Playgroud)

c# generics nullable

0
推荐指数
2
解决办法
70
查看次数