小编pix*_*ike的帖子

tsconfig - 如何为多个目录设置正确的编译器输出位置(Atom)

假设我有这个目录结构:

public/
    js/
        lib/
test/
    ts/
lib/
    ts/
Run Code Online (Sandbox Code Playgroud)

我将如何配置它来编译lib/ts/*.ts,以public/js/lib/*.jstest/ts/*.tspublic/js/*.js

我已经尝试在每个ts目录中设置一个单独的tsconfig.json outDir,但是只要我添加///<reference一个文件,编译器就会输出一个不需要的目录树(在保存和构建时).

typescript

27
推荐指数
2
解决办法
3万
查看次数

拖动选定的文字移动它?

是否可以拖动选定的文字来移动它?这几乎是在所有其他编辑器中(更不用说浏览器中的文本输入字段了.)我很惊讶在VS Code中找不到它.

这是一个gif示例.

visual-studio-code

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

什么语言编译成最有效的Javascript代码?(除了C&C++)

现在有很多语言可以编译成javascript,C&C++被编译成asm.js被吹捧为最快的.我想知道有效的,编译的Javascript/asm.js还有其他候选者.我会找到一种很好的语言,在性能和现代的,更高级的编程结构之间取得平衡.现在每个人似乎都喜欢Python,但是从我读过的内容来看,它并不能用于编写最快的JS.

基于对该主题的一些初步细读,我认为Dart,Haxe,C#和Java可能是很好的候选者,但我还没有找到任何性能比较.

javascript asm.js

11
推荐指数
0
解决办法
1708
查看次数

WebGL:优化每帧更改值和顶点计数的顶点缓冲区

我想实现一个顶点缓冲区的渲染器,每个帧都会在应用程序端更新.另外,顶点的数量(即,三角形的数量)也将每帧改变.

我的方法是将一次所需的最大值预先分配为Float32Array,然后仅更新更改的值,并使用bufferSubData更新缓冲区数据.然后通过从索引缓冲区发送一个范围来绘制我想要的那些.

作为一个最小的例子,假设我已经为Float32Array中的2个独立三角形分配了位置顶点,对于这个框架,我只想移动并绘制第二个三角形.我想我会这样做:

arrPos[9] += 1.0; // move the X coordinates in the Float32Array
arrPos[12] += 1.0;
arrPos[15] += 1.0;
gl.bindBuffer(gl.ARRAY_BUFFER, bufPos); // tell GL which buffer to use
gl.bufferSubData( gl.ARRAY_BUFFER, 3 * 3 * 4, arrPos ); // update the vertices - ERROR

// then just draw the 2nd traingle by sending its indices only
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, bufId); // tell GL which buffer to use
gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 3 * 2); // draw just this range
Run Code Online (Sandbox Code Playgroud)

问题是,bufferSubData抛出错误:"GL错误:GL_INVALID_VALUE:glBufferSubData:超出范围"

我已经尝试使用bufferSubData的偏移量3,9,12来解决它,但它们都给了我同样的错误.

另一个注意事项:如果我能够正常工作,在我看来,如果我想在重新使用这个预先分配的Float32Array的同时每帧绘制可变数量的三角形,我将需要更新END处的值数组,而不是开始,因为我只能指定bufferSubData的偏移量,而不是起始索引.我希望有人可以告诉我这种方法是否可行,或者如果我完全偏离轨道并且应该停止浪费我的时间.

javascript webgl opengl-es-2.0

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

通用CRUD控制器和视图

我刚刚学习了一些ASP.NET的入门教程,我对如何实现一个简单的CRUD管理应用程序有了一个很好的想法.

是否有任何常用的模式来实现通用的列表/创建/更新/删除操作?为每个模型构建脚手架,然后维护所有添加,编辑和列表视图和控制器似乎相当繁琐.实现通用操作会更有效,更不容易出错,例如:

/List/Model
/Edit/Model/id
/Update/Model/id
/Delete/Model/id
Run Code Online (Sandbox Code Playgroud)

可以处理任何模型.

asp.net-mvc

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

这是尾巴吗?(JavaScript)的

你有一个递归函数,如:

Blah.prototype.add = function(n) {
    this.total += n;
    this.children.forEach(function(child) {
        child.add(n);
    });
};
Run Code Online (Sandbox Code Playgroud)

child.add()尾巴吗?如果不能这样写的话呢?

javascript tail-call-optimization

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

用ArrayLike声明TypedArray?

我正在寻找TypedArray在d.ts文件中声明泛型类型的方法。TypedArray由于某种原因似乎不存在,但我在建议使用的地方遇到了评论ArrayLike<T>。这仍然是最佳解决方案吗?

我可以猜出是什么ArrayLike,但是是否有任何文档?谷歌搜索和搜索Typescript网站并没有太多。

编辑:我只是注意到类型化的数组构造函数被声明为以ArrayLike作为第一个参数,因此这表明这是正确的方法。

typescript

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

2D碰撞响应 - 旋转,移动多边形撞击墙壁

当其中一个顶点与它发生碰撞时,我试图弹出一个多边形,该多边形具有一个(不可移动的)墙上的速度和角速度.我可以检测到碰撞,并且我已经研究了如何计算输入并知道我需要什么输出,但是无法找到或计算出响应的实现.任何帮助将不胜感激.

function collisionResponse(
    c, // object center of mass position
    v, // velocity of object
    a, // the angular velocity of the object
    p, // point of contact with line
    n  // normalized normal of line
) {
    //  Make a vector from center mass to contact point
    cp = p - c;

    //  Total velocity at contact point (add angular effect)
    pv.x = v.x - cp.y * a;
    pv.y = v.y + cp.x * a;

    //  Reflect point of …
Run Code Online (Sandbox Code Playgroud)

math game-physics

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