javascript - SmartMS 中的 "Wrap"three.js

标签 javascript three.js webgl smart-mobile-studio

我想在 Smart Mobile Studio 中添加这个简单的 three.js 示例。是否可以不用大量复杂的包装?我通过将 window.onload 内容复制到 asm 部分进行了天真的尝试 - 但当然没有运气。

<!DOCTYPE html>
<html>
<head>
<title>Getting Started with Three.js</title>    
<script src="three.min.js"></script>
<script>
window.onload = function() {

    var renderer = new THREE.WebGLRenderer();
    renderer.setSize( 800, 600 );
    document.body.appendChild( renderer.domElement );

    var scene = new THREE.Scene();

    var camera = new THREE.PerspectiveCamera(
        35,             // Field of view
        800 / 600,      // Aspect ratio
        0.1,            // Near plane
        10000           // Far plane
    );
    camera.position.set( -15, 10, 10 );
    camera.lookAt( scene.position );

    var geometry = new THREE.CubeGeometry( 5, 5, 5 );
    var material = new THREE.MeshLambertMaterial( { color: 0xFF0000 } );
    var mesh = new THREE.Mesh( geometry, material );
    scene.add( mesh );

    var light = new THREE.PointLight( 0xFFFF00 );
    light.position.set( 10, 0, 10 );
    scene.add( light );

    renderer.render( scene, camera );

};
</script>
</head>
<body></body>
</html>

最佳答案

我生成了一个包装器单元(使用我自己的实验性内部 typescript 到 pascal 转换器)并测试了输出(并修复了一些生成器错误): https://github.com/andremussche/AndrewsDelphiStuff/tree/master/Smart/ThreeJS

仍然不完美(缺少一些外部类名)但无论如何它是一个很好的起点。

在上面的演示中,您还可以看到如何在 SMS IDE 中创建纯 html 项目:)

关于javascript - SmartMS 中的 "Wrap"three.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21985657/

相关文章:

jquery - 我们如何从现有图像中绘制 3D 建筑结构 Jquery,Css?

javascript - 如何在 WebGL 中使用 getActiveUniform

javascript - 从 ES5 'for' 循环翻译 ES6 'for-each' 循环

javascript - 在 Javascript 中需要一个 basename 函数

javascript - 检查 DOM 元素的 Node.js 模块

javascript - ThreeJS CSS 3D Sprite 随机化

javascript - p5.j​​s 创建新的 Vector 错误

javascript - Three.js:无法更改onLoad函数中的 boolean 值

three.js - ThreeJS中的阴影距离问题

javascript - 无法在 WebGL 中渲染来自 S3 存储桶的图像