需要clojurescript相当于一个three.js javascript’loadTexture’语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了需要clojurescript相当于一个three.js javascript’loadTexture’语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1871字,纯文字阅读大概需要3分钟。
内容图文
![需要clojurescript相当于一个three.js javascript’loadTexture’语句](/upload/InfoBanner/zyjiaocheng/725/d2b628705b1442508fb2c9b70c61a117.jpg)
我正在尝试将图像应用于three.js(3js)项目中的多维数据集.我在clojurescript(cljs)中写它.为此,您需要将图像从磁盘加载并将其应用于材质.原始JavaScript语句如下所示:
var material = new THREE.MeshPhongMaterial({map:THREE.ImageUtils.loadTexture("images/webgl-logo-256.jpg")})
我能想出的最好的是cljs:
(def material (js/THREE.MeshPhongMaterial. (clj->js {:map (THREE.ImageUtils.loadTexture "images/webgl-logo-256.jpg")})))
这是有效的,因为它没有给我一个错误,但立方体没有应用图像,而是深蓝色.
使用type命令,我可以看到我假设应该具有文件名的map属性未设置:
(type material)
function(parameters) {
THREE.Material.call( this );
this.type = 'MeshPhongMaterial';
this.color = new THREE.Color( 0xffffff ); // diffuse
this.ambient = new THREE.Color( 0xffffff );
this.emissive = new THREE.Color( 0x000000 );
this.specular = new THREE.Color( 0x111111 );
this.shininess = 30;
this.metal = false;
this.wrapAround = false;
this.wrapRGB = new THREE.Vector3( 1, 1, 1 );
this.map = null;
# ...
更新:即使解决了问题(参见下面的答案),this.map仍然在type命令输出中显示为null.因此,我认为类型输出中的字段只是默认值,您不应期望它们反映所使用的实际值(?)
我最不确定的部分是loadTexture命令.我希望它写成:
(.-loadTexture THREE.ImageUtils "images/webgl-logo-256.jpg")
但这回归:
clojure.lang.ExceptionInfo: Unknown dot form of (. THREE.ImageUtils -loadTexture ("images/webgl-logo-256.jpg")) with classification [:cljs.analyzer/expr :cljs.analyzer/property :cljs.analyzer/expr] at line 1 {:tag :cljs/analysis-error, :file "", :line 1, :column 1} nil
有谁知道如何用clojurescript写这个语句?
解决方法:
(THREE.ImageUtils.loadTexture“images / webgl-logo-256.jpg”)不是有效的ClojureScript函数调用(至少使用tree.js).这种尝试
(.-loadTexture THREE.ImageUtils "images/webgl-logo-256.jpg")
非常接近.它应该改为:
(.loadTexture (.-ImageUtils THREE) "images/webgl-logo-256.jpg")
在ClojureScript中.用于JS函数调用(包括方法)和.-用于访问对象属性.更多细节是here.
内容总结
以上是互联网集市为您收集整理的需要clojurescript相当于一个three.js javascript’loadTexture’语句全部内容,希望文章能够帮你解决需要clojurescript相当于一个three.js javascript’loadTexture’语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。