所以我最近了解了mipmapping的定义,但我不确定如何在three.js中正确使用该技术.
我看了一下这个例子:http: //threejs.org/examples/webgl_materials_texture_manualmipmap.html
我也看到了这个:http: //threejs.org/examples/#webgl_materials_texture_anisotropy
两者似乎都使用mipmapping.第一个例子有这部分代码:
function mipmap( size, color ) {
var imageCanvas = document.createElement( "canvas" ),
context = imageCanvas.getContext( "2d" );
imageCanvas.width = imageCanvas.height = size;
context.fillStyle = "#444";
context.fillRect( 0, 0, size, size );
context.fillStyle = color;
context.fillRect( 0, 0, size / 2, size / 2 );
context.fillRect( size / 2, size / 2, size / 2, size / 2 );
return imageCanvas;
}
var canvas = mipmap( 128, '#f00' );
var textureCanvas1 …Run Code Online (Sandbox Code Playgroud) 我目前需要可以随时获取的自定义属性。有什么方法可以为节点创建自定义数据属性,然后在javafx中获取这些值?
假设我有以下按钮。
<Button text="Im a button" fooBar="I hold some value" />
Run Code Online (Sandbox Code Playgroud)
类似于:https : //developer.mozilla.org/de/docs/Web/Guide/HTML/Using_data_attributes
现在,在HTML中,我可以简单地执行以下操作:
<div id="example" data-foobar="I hold some value"></div>
Run Code Online (Sandbox Code Playgroud)
然后,我可以轻松地获得如下数据:
document.getElementById("example").dataset.foobar;
Run Code Online (Sandbox Code Playgroud)
编辑:我需要一个节点的多个数据属性,因为一个节点可以保存各种信息。
我设法创建了一个有点工作的滑块控件,但感觉有点不对劲。它的行为不像正常控件应有的那样。有时在滑动时它会卡住并且很好,您可能想亲眼看看。
您将如何创建滑块,使其平滑地滑动而不会中断,或者用户需要将光标准确地定位在红色轨道上?
function createRange(e) {
var range = (((e.offsetX - 0) * (255 - 0)) / (200-40 - 0)) + 0;
var rounded = Math.round(range);
return rounded;
}
function colorSlider(e) {
createRange(e)
}
var dragging = false;
document.getElementById("knob").addEventListener('mousedown', function(e) {
dragging = true;
e.target.style.pointerEvents = "none"
})
window.addEventListener('mousemove', function(e) {
if (dragging) {
if (createRange(e) <= 255) {
document.getElementById("knob").style.left = e.offsetX + "px"
}
}
})
Run Code Online (Sandbox Code Playgroud) 我的问题是WebAssembly如何影响Audio Api和WebGL?我的意思是音频API是高级的并且依赖javascript,所以所有音频操作,MIDI等如何在Webassembly中工作?我们是直接使用上述API还是使用其他第三方库(例如http://www.portaudio.com/)?与WebGL一样,既然我们具有低级访问权限,我们是否直接使用WebGL或C ++ OpenGL接口?
所以现在我确定了 javascript 的基础知识,我准备进入更中级的“风格”编码艺术。我正在尝试编写易于维护的代码。这个想法是通过创建回退来使函数工作,即使正在使用的对象属性之一不可用。问题是,如果我经常访问属性,那么我将不得不创建三元条件,为每个访问的属性创建一个简单的条件。现在你可以看到我只访问object.a. 我当然可以存储所有属性的访问:
想法1
var a = (object.hasOwnProperty(a) ? object.a : a)
var b ...
var c ...
Run Code Online (Sandbox Code Playgroud)
想法2:
var a = (object['a'] ? object.a : a)
Run Code Online (Sandbox Code Playgroud)
想法3:
var a = object['a'] ? object.a : a
Run Code Online (Sandbox Code Playgroud)
想法3:
(object.hasOwnProperty(a) ? var a = object.a : var a = 1);
Run Code Online (Sandbox Code Playgroud)
想法4:
Switch statements?
Run Code Online (Sandbox Code Playgroud)
最后:
object = {
// a: 1,
b: 2,
c: 3,
}
// normal vars in case one of the properties do not exist
var a …Run Code Online (Sandbox Code Playgroud) import java.io.File;
import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
public class SoundTest extends Application{
public static void main(String[] args) {
launch(args);
}
public static void sound() {
String path = "test.mp3";
Media media = new Media(new File(path).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
}
@Override
public void start(Stage arg0) throws Exception {
sound();
}
}
Run Code Online (Sandbox Code Playgroud)
我有一些问题。我在谷歌上搜索并偶然发现了一些有用的 stackoverflow 帖子,这些帖子解释了如何通过媒体和媒体播放器加载声音。
我正在做的是,我在 main() 中调用了声音函数,但是由于第二个类似声音函数的失败,我的程序无法执行。媒体对象在构造函数中接受一个参数,该参数是音频文件的路径。不知何故,当我得到时,它在那里失败了:
Exception in thread "Thread-0" java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
at javafx.application.Platform.runLater(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 假设我们有以下内容:
(module)
Run Code Online (Sandbox Code Playgroud)
只是一个简单的模块,没有函数、局部变量、内存和所有花哨的东西。现在,如果我不想过度填充我的模块怎么办?我的意思是 id 喜欢有两个模块,但在尝试编译类似以下内容时,我显然遇到了错误:
(module)
(module)
Run Code Online (Sandbox Code Playgroud)
那么有没有办法让每个模块都有自己的内存或id呢?或者有什么办法可以做到吗?这还有道理吗?我只是说因为模块真的会变得很大。
我想要完成的是在两个模块之间进行通信,因为我相信防止模块变得太大是有意义的。我对 WebAssembly 很陌生,所以也许我所说的听起来很疯狂。
Webassembly是否支持触发功能?我的意思是喜欢内置支持,因为似乎我们必须从javascript导入那些。如果我们有这样的事情,那就太好了:
f32.sin
f32.cos
Run Code Online (Sandbox Code Playgroud)
如果有任何意义。如果它们不存在,我会假设它是因为实现非常依赖于系统。
问题:
想象我们有一个涉及这些数学函数的非常复杂且计算量大的公式。我想在不依赖导入或细分我的代码的情况下计算webassembly中的所有内容,其中一部分在webassembly中运行,另一部分在javascript中运行。
除此之外,我确实相信,如果内置了trig函数,则在语义上看起来会更整洁。
很久以前:
我有一个有很多领域的classA.我通过构造函数将类A注入到classB和类C中,因为最后两个需要与classA进行通信.
问题:
所以我已经完成了依赖注入,现在我注意到B类和C类很难过,因为它们无法访问A类中设置为private的字段.他们通过getter尝试了它,但是A类很快就变得太胖了,因此两个类都想知道是否有办法在没有getter的情况下访问他们的依赖字段并且没有将它们公开.
示例(伪代码!!!):
class A {
private field1 = 1;
private field2 = 2;
private field3 = 3;
private field4 = 4;
private field5 = 5;
private field6 = 6;
}
class B {
public B(A a) {
System.out.print(a.field1);
}
}
class C {
public B(A a) {
System.out.print(a.field2);
}
}
A a = new A();
new B(a);
new C(a);
Run Code Online (Sandbox Code Playgroud)
继承和设置保护字段可以解决问题,但问题是每个孩子都有不同的父母.我不想那样.
所以我的问题是:如何在没有getter或反射的情况下访问依赖项的字段?
我查看了很多 stackoverflow 帖子和文章,但仍然无法在 UWP 中创建文件。在 WPF 中这确实很容易,但 UWP 的工作方式有所不同。
我在清单文件中添加了以下内容:
<Capabilities>
<uap:Capability Name="documentsLibrary" />
</Capabilities>
Run Code Online (Sandbox Code Playgroud)
现在我不知道下一步该做什么。在我的文档文件夹中,有一个名为“Project Files”的子文件夹。我想在那里创建文件夹和文件。在 UWP 中这是如何完成的?我真的不明白。
java ×3
javascript ×3
webassembly ×3
c# ×1
fxml ×1
javafx ×1
three.js ×1
trigonometry ×1
uwp ×1