在Three.dart“Hello World”项目中崩溃

时间:2013-10-03 13:32:53

标签: dart dart-editor dartium

我使用three.dart框架开发了简单的项目。它启动并显示网页确定。但是3-5秒后,它会因未知错误而崩溃。 Dart编辑器和浏览器没有显示它崩溃的原因

这是一段代码:

import 'dart:html';
import 'dart:math' as Math;
import 'package:three/three.dart'; 

class MyClass {
  Element container;
  PerspectiveCamera camera;
  Scene scene;
  CanvasRenderer renderer;
  Mesh plane;
  num targetRotation;
  num targetRotationOnMouseDown;
  num windowHalfX;
  num windowHalfY;
  var evtSubscriptions = []; 

  void run() {
    init();
    animate(0);
  } 

  void init() {
    targetRotation = 0;
    targetRotationOnMouseDown = 0;
    windowHalfX = window.innerWidth / 2;
    windowHalfY = window.innerHeight / 2; 
    container = new Element.tag('div');
    document.body.nodes.add( container );
    Element info = new Element.tag('div');
    info.style.position = 'absolute';
    info.style.top = '10px';
    info.style.width = '100%';
    info.style.textAlign = 'center';
    info.innerHtml = 'Drag to spin the cube';
    container.nodes.add( info );

    scene = new Scene();
    camera = new PerspectiveCamera( 70.0, window.innerWidth / window.innerHeight, 1.0, 1000.0 );
    camera.position.y = 150.0;
    camera.position.z = 500.0;
    scene.add( camera ); 

    // Plane
    plane = new Mesh( new PlaneGeometry( 200.0, 200.0 ), null);
    scene.add( plane );

    renderer = new CanvasRenderer();
    renderer.setSize( window.innerWidth, window.innerHeight );
    container.nodes.add( renderer.domElement );
} 

void render() {
    renderer.render( scene, camera );
  } 

animate(num time) {
    window.requestAnimationFrame(animate);
    render();
  }
} 

void main() {
  new Canvas_Geometry_Cube().run();
}

如何修复崩溃?

2 个答案:

答案 0 :(得分:1)

我发现了问题。它适用于Web GL(非画布)。

答案 1 :(得分:0)

Sergio three.dart可能需要更新一些工作,自从最新版本在pub上发布以来已经有一段时间了。抱歉。请随时查看https://github.com/threeDart/three.dart网站

上的最新分支或代码审核