2016-04-03 81 views
0

我使用cordova和three.js开发了简单的3D android应用程序。它不适用于少数设备(HTC One X,Samsung S6),并且在少数设备(华硕,One + one)中完美工作。我不知道为什么它不工作,它显示空白的白色屏幕。这是我的js代码three.js cordova apk的android

var renderer = new THREE.WebGLRenderer({ antialias: true }); 
    renderer.setPixelRatio(window.devicePixelRatio); 
    renderer.setSize(window.innerWidth, window.innerHeight); 
    $('#wrapper').html(renderer.domElement); 
    element = renderer.domElement; 
    var scene = new THREE.Scene(); 
    var camera = new THREE.PerspectiveCamera(100, window.innerWidth/window.innerHeight, 0.1, 10000); 
    camera.position.set(0, 0, 0); 
    var effect = new THREE.StereoEffect(renderer); 
    effect.setSize(window.innerWidth, window.innerHeight); 
    var axis = new THREE.AxisHelper(70000.5); 
    //scene.add(axis); 
    var cube = new THREE.Mesh(new THREE.CubeGeometry(2.5, 4, 2.5), new THREE.MeshNormalMaterial()); 
    cube.position.z=-4; 
    scene.add(cube); 
    var lastTimeMsec = null; 
    function animate(timestamp) { 
    effect.render(scene, camera); 
    requestAnimationFrame(animate); 
    } 
    animate(); 

任何人都可以让我知道这个问题。

在此先感谢

+0

很多Android设备都有自己的错误,只显示特定的硬件和特定的软件。虽然错误似乎相同,但原因可能不同。您可能需要为每个手机分别调试确切的问题 – Ritave

回答

1

我们需要构建之前安装一个插件科尔多瓦(科尔多瓦 - 插件 - 人行横道-的WebView )。这允许three.js支持所有设备。

+0

并非所有设备。特别是当Android版本低于5.0时。检查[StackOverflow问题](http://stackoverflow.com/a/37737121/6858891)和[Crosswalk网站](https://crosswalk-project.org/documentation/about/faq.html#Canvas-and- WebGL的支持)。 – Hellium