2012-06-30 8 views
5

Ho scritto una classe di gioco con un coffeescript che mostra un cubo semplice e rotante. È possibile vedere il codice qui: http://jsfiddle.net/6eRzt/6/Perché la luce in questa scena non funziona?

Tutto è dandy, ad eccezione di due cose:

1) devo fare un brutto hack per ottenere il lavoro requestAnimationFrame callback:

var sh = new App(); 
sh.start(); 

function animate() { 
    sh.animate(); 
    requestAnimationFrame(animate); 
} 

animate();​ 

2) Questa è la mia principale preoccupazione: SpotLight non funziona. Ho provato a replicare il comportamento da un altro JSFiddle (a cui si fa riferimento in questo Question), ma senza successo. Forse è solo uno stupido errore di battitura, o forse sto sbagliando.

Plus: Sono sulla strada sbagliata con la mia classe App? Tutti gli esempi di three.js che ho trovato finora usano semplici funzioni per far funzionare la roba.

risposta

5

Per quanto riguarda la principale preoccupazione, è necessario utilizzare WebGLRenderer anziché CanvasRenderer.

Fiddle: http://jsfiddle.net/6eRzt/10/

EDIT: Ci sono un sacco di modi di affrontare la vostra prima preoccupazione. Ognuno avrà la sua opinione.

Ecco come lo farei. La chiusura impedisce alle variabili di inquinare lo spazio dei nomi globale; non sono necessari tutti i riferimenti this.

Fiddle # 2: http://jsfiddle.net/6eRzt/11/

+0

Grazie mille! – Wukerplank

+0

Grazie, anche per l'aggiornamento. Tutti quei riferimenti "this" sono artefatti di CoffeeScript. – Wukerplank

Problemi correlati