ãã®ç¶æ¿ã®ãã€ãã£ãªã ããã³ãŒãã«å°å ¥ãããŠããã®ã¯ãªãã§ããã
PointLight.prototype = Object.assign( Object.create( Light.prototype ), {
çå£ã«ïŒ FunctionïŒnested FunctionïŒParentPrototypeïŒCOMMA SHOTGUN BRACKETïŒ
ããšãã°ãMaterialsã¯ã©ã¹ã®å¿ å®ãª2è¡ã¹ã¿ã€ã«ã¯ãã¯ããã«æ確ã§ã¯ãªãŒã³ã§ãã ãããã¿ã€ããå²ãåœãŠãŠãããã³ã³ã¹ãã©ã¯ã¿ãŒãèšå®ããŸãã çµããã JavaScriptã®ç æ°ãæãŸããŠã©ã€ãã©ãªãå°ç¡ãã«ããªãã§ãã ããããªããžã§ã¯ããšç¶æ¿ã®ã³ãŒãã£ã³ã°æ¹æ³ããã¹ã¿ãŒããŒã·ã§ã³ãããšããå¥åŠãªå¿ èŠããããŸãã ã©ã€ãã©ãªå šäœã§1ã€ã®ã¹ã¿ã€ã«ã å€æŽããå¿ èŠã¯ãããŸããã
ã§ã¯ã代ããã«ãã®ãã¿ãŒã³ã䜿çšããããšãææ¡ããŠããŸããïŒ
PointLight.prototype = Object.create( Light.prototype );
Object.assign( PointLight.prototype, {
class PointLight extends Light
heheðãããŠåé¡ãããŸãã...
@ sasha240100ãã€ã...
@mrdoobã¯å®å šã§ã¯ãããŸãã-ããªããèšåãã2ã€ã®æ¹æ³ã¯çŽæ¥åçã§ãã OPã¯æ¯èŒããŠãããšæããŸã
PointLight.prototype = Object.assign( Object.create( Light.prototype ), {
constructor: PointLight,
prop1: 'something',
method1: function someFunction() { .. },
...
});
ãš
function PointLight () { ... };
PointLight.prototype = Object.create( Light.prototype );
PointLight.prototype.constructor = PointLight;
PointLight.prototype.prop1 = 'something';
PointLight.prototype.method1 = function someFunction() { .. };
...
ããã¯ãããšãã°ããã§è¡ãããæ¹æ³ã§ãã
ç§ãèŠãéãããããã®ã¹ã¿ã€ã«ã¯åçã§ã-ç§ãæ¬ ããŠãããã®ã¯ãããŸããïŒ
ãŸãã¯ãã³ãŒãããŒã¹å
šäœã§æŽæ°ãããã«å©çšå¯èœã«ãªã£ãåŸãã¹ã¿ã€ã«ãObject.Assign
ã䜿çšããããã«å€æŽãããŸãããïŒ
@looeee @ bfred-it @mrdoob rollup-babel
ã䜿çšããªãã®ã¯ãªãã§ããïŒ
æ¯èŒïŒ
é»æµã es5 + es6ããŒã¢ããŒã¢ãžã¥ãŒã«ã
import { LineBasicMaterial } from './LineBasicMaterial';
import { Color } from '../math/Color';
function LineDashedMaterial( parameters ) {
LineBasicMaterial.call( this );
this.type = 'LineDashedMaterial';
this.scale = 1;
this.dashSize = 3;
this.gapSize = 1;
this.setValues( parameters );
}
LineDashedMaterial.prototype = Object.create( LineBasicMaterial.prototype );
LineDashedMaterial.prototype.constructor = LineDashedMaterial;
LineDashedMaterial.prototype.isLineDashedMaterial = true;
LineDashedMaterial.prototype.copy = function ( source ) {
LineBasicMaterial.prototype.copy.call( this, source );
this.scale = source.scale;
this.dashSize = source.dashSize;
this.gapSize = source.gapSize;
return this;
};
export { LineDashedMaterial };
ES2015 +ã åãã³ãŒãã§ããães2015 +ã«babel-plugin-transform-class-properties
ãå«ãŸããŠããŸãïŒ
import { LineBasicMaterial } from './LineBasicMaterial';
import { Color } from '../math/Color';
export class LineDashedMaterial extends LineBasicMaterial {
type = 'LineDashedMaterial';
scale = 1;
dashSize = 3;
gapSize = 1;
isLineDashedMaterial = true;
constructor(parameters) {
super();
this.setValues( parameters );
}
copy(source) {
super.copy(source);
this.scale = source.scale;
this.dashSize = source.dashSize;
this.gapSize = source.gapSize;
return this;
}
}
ES2015 +ã«ç§»è¡ããããšã«ããŸãããçŸåšã®ã³ãŒããšåæ§ã®ã³ãŒããåºåããæ¹æ³ãèŠã€ããå¿ èŠãããã ããªã®ã§ããã¹ãŠã®å Žåã§ããã©ãŒãã³ã¹ã¯åããŸãŸã§ãã
ã¯ã©ã¹ã®æèã§è³ªåããããŸãã Vector3.unprojectã®ãããªã¡ãœãããã¯ã©ã¹æ§æã«ã©ã®ããã«è»¢éããŸããïŒ ãã®ã¡ãœããã¯ãå®éã«ã¯ãæ°ããã¹ã³ãŒããäœæããããã«ã¯ããŒãžã£ã䜿çšããŸãã ããã¯ããªããžã§ã¯ãã®äœæéãå¯èœãªéãå°ãªãä¿ã€éèŠãªã¡ã«ããºã ã§ãã
ãã®ãããªå Žåã Object.assign
ãå¿
èŠã§ããïŒ
@ Mugen87 @ mrdoobes6ã®ããã©ãŒãã³ã¹ã«é¢ããèå³æ·±ãæ
å ±ã ç¹ã«Object.assign
ïŒ
ãã®èšäºãã
Vector3.unprojectã®ãããªã¡ãœãããã¯ã©ã¹æ§æã«ã©ã®ããã«è»¢éããŸããïŒ ãã®ã¡ãœããã¯ãå®éã«ã¯ãæ°ããã¹ã³ãŒããäœæããããã«ã¯ããŒãžã£ã䜿çšããŸãã
@ Mugen87ãšã¯ã¹ããŒããããŠããªãã¢ãžã¥ãŒã«ã¹ã³ãŒãã®ãªããžã§ã¯ãã ãã§ã¯ãããŸãããïŒ ãã®ãããªãã®;
const tempMatrix = new Matrix();
export default class Vector3{
unproject() {
// uses tempMatrix
}
}
ã¯ããããã§ããŸããããšæããŸãð
@mrdoobãããŒïŒ ãã§ã«æ©èœããŠããããã§ãã ãã©ã³ããäœæããããã€ãã®ã¯ã©ã¹ães6ã«å€æããŠããããã©ã®ããã«ã³ã³ãã€ã«ããããã確èªããããšã¯ã§ããŸãããïŒ
@ satori99ã°ããŒãã«ã®åé¡ãåé¿ããããã«Vector3ã³ãŒãå
ã«tempMatrix
ãä¿æããæ¹æ³ã®ã¢ã€ãã¢ãšããŠïŒ
export default class Vector3 {
static tempMatrix = new Matrix();
unproject() {
// uses Vector3.tempMatrix
}
}
@mrdoobãããŒïŒ ãã§ã«æ©èœããŠããããã§ãã ãã©ã³ããäœæããããã€ãã®ã¯ã©ã¹ães6ã«å€æããŠããããã©ã®ããã«ã³ã³ãã€ã«ããããã確èªããããšã¯ã§ããŸãããïŒ
ããã§ããïŒ ç§ã¯çŸåšWebVRã«çŠç¹ãåãããŠããã®ã§ãããã¯ç§ä»¥å€ã®èª°ãã§ããå¿ èŠããããŸãã
@ sasha240100ã¢ãžã¥ãŒã«ã¹ã³ãŒãã®å€æ°ã䜿çšããå©ç¹ã¯ãããããéåžžã®ãŠãŒã¶ãŒã³ãŒãããé ããããŸãŸã«ãªãããšã§ããããã¯ãäžæå€æ°ã«é©ããŠããããã§ãã
ãã©ã€ããŒãå€æ°ã«é¢ããŠã¯ããç§ãã¡ã¯ãã¹ãŠããã§å€§äººã§ãããšããpythonisticã¢ãããŒããæ°ã«ããŸããããäžæå€æ°ãåå空éãäžå¿ èŠã«æ±æããããšã¯ãããŸããã
ãŸãããã©ãŠã¶ã§ãã€ãã£ãã¢ãžã¥ãŒã«ã®ãµããŒããæå¹ã«ããŠãã人ãsrcãã¡ã€ã«ãçŽæ¥ããŒãã§ãããšäŸ¿å©ã§ãã ããã¯ããŠã©ããã£ãŒãå¿ èŠãšãããç·šéã®ãã³ã«ãã©ã³ã¹ãã€ã«ããããšãªããéçºããããã®ã¯ããã«å¿«é©ãªæ¹æ³ã§ãã ã¯ã©ã¹ããããã£ã䜿çšãããšããããšã¯ãããããçŸåšã®ã¯ã©ã¹ä»æ§ã®äžéšã§ã¯ãªãããããããäžå¯èœã§ããããšãæå³ããŸãã
ãè©«ã³ç³ãäžããŸããã¹ã¬ãããå®å šã«ç°ãªããã®ã«å€æŽããããããããããåé¡ã®ã¿ã€ãã«ããES6ã¯ã©ã¹ã®è©äŸ¡ãã®ãããªãã®ã«å€æŽããå¿ èŠããããŸãã
ãªããã¿ãŒã³ãå€æŽããã®ã§ãã@ Mugen87 @ satori99 ïŒ
method =(()=>{
const vec3forThisScope =...;
return (arg)=>{...}
})()
typescriptãè©ŠããŠã¿ãŸããããä»ã®ããŒãžã§ã³ã®jsã«ã³ã³ãã€ã«ã§ããŸãã
TypeScriptã¯ããã©ã³ã¹ãã€ã©ãŒ+ã¿ã€ããã§ãã«ãŒã§ãããJavaScriptã®ã¹ãŒããŒã»ããã§ãããããèããã®ã«æé©ãªãªãã·ã§ã³ã§ããã³ãŒãããŒã¹ã.tsãã¡ã€ã«ã«ç§»åããã¿ã€ããã§ãã¯ã䜿çšããŠES6ã«åŸã ã«ãªãã¡ã¯ã¿ãªã³ã°ããã®ã¯ç°¡åã§ãã
TypeScriptã䜿çšããããšããªãå Žåã¯æãããããã«èããããããããŸããããå®éã«ã¯å€§ããªåŠç¿æ²ç·ã§ã¯ãªãããããããããã¡ãªãããæ¯æãã®ã«å°é¡ã®è²»çšãããããŸãã TypeScriptã³ãã¥ããã£ã¯ããã®ç§»è¡ãæ¯æŽããçŸåšã®ã©ã€ãã©ãªã«å¯ŸããŠããã©ãŒãã³ã¹ãã¹ããäœæããŠãã©ã€ãã©ãªãããŠã³ã°ã¬ãŒããããŠããªãããšã確èªã§ããããšãéåžžã«åãã§ããŸãã
ã³ã¢éçºè ã®AndersHejlsbergã®èšèãåŒçšãããšãTypeScriptã¯ãJavaScriptã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããªããšããã¯ã©ã€ã¢ã³ããå éšããŒã ããã®èŠæ ã«å¿ããŠçãŸããŸããã
ç®æšã¯ããªãŒãã³ã¹ã¿ã³ããŒããšã¯ãã¹ãã©ãããã©ãŒã ã§ãããšããå©ç¹ãç ç²ã«ããããšãªãããã¯ã©ã¹ãã¢ãžã¥ãŒã«ãéçåä»ããªã©ã§JavaScriptã匷åãããããšã§ããã ãã®çµæãèšèªã®ã¹ãŒããŒã»ãããšããŠæ§ç¯ããããã¢ããªã±ãŒã·ã§ã³ã¹ã±ãŒã«ã®JavaScriptéçºçšèšèªããçãŸããŸããã
ãã©ãŠã¶ãTypeScriptããã€ãã£ãã«å®è¡ã§ããããã«ãªããŸã§ãç§ã¯JavaScriptã䜿ãç¶ããããšã奜ã¿ãŸãã
@mrdoob
TypeScriptããã©ãŠã¶ã§çŽæ¥å®è¡ã§ããªããšããçç±ã ãã§äœ¿çšããªãæ£åœãªçç±ãšããŠããããç解ããããšã¯ã§ããŸããã ã³ã³ãã€ã«æã®ãã§ãã¯ã®ã¿ãç®çãšããäœåãªã³ãŒãè¡ãããããããã©ãŠã¶ãŒã§å®è¡ããããšã¯æãŸãããããŸããã çŸåšãã©ã³ã¿ã€ã ãã§ãã¯èšèªã§ã¯ãããŸããã ãããã£ãŠããã©ãŠã¶ã§äœ¿çšãããããšãããã°ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžãããããå ¥åãããã³ãŒãããã¹ãŠåé€ãããå¯èœæ§ãé«ããããã¯ããã©JavaScriptã³ãŒãã«ãªããŸãã
åä»ãèšèªã䜿çšããããšã®ãã€ã³ããšã倧èŠæš¡ãªã³ãŒãããŒã¹ã§ã®éçºã«ããããã®å©ç¹ãå®å šã«èŠéããŠãããšæããŸãã ããªãã¯ãŸã JavaScriptãäœæããŠäœ¿çšããŠããŸãããTypeScriptã®èŠç¹ã¯ãJavaScriptã®ã¹ãŒããŒã»ããã§ãããšããããšã§ãã ã³ã³ãã€ã©ãªãã·ã§ã³ã§æ§æå¯èœãªæå®ãããECMAScriptã¿ãŒã²ããããŒãžã§ã³ã§JavaScriptã«ã³ã³ãã€ã«ãããã¿ã€ãã䜿çšããŠJavaScriptãèšè¿°ããŸããèš±å¯ãããå€ã¯ãães3ããães5ããães2015ããães2016ããães2017ãããŸãã¯ããã§ãã esnext 'ã
Typescriptã¯JavaScriptã§ãããããäžåºŠã«ãã¹ãŠããªãã¡ã¯ã¿ãªã³ã°ãããšãã倧ããªé çã®çš®ãæ±ããããšãªãã段éçã«ç§»è¡ããããšãã§ããŸãã ããã¯ã³ãã¥ããã£ã«ãã£ãŠåŸã ã«è¡ãããæ¹åãããå¯èœæ§ããããŸãã ES6ã¯ã©ã¹ã䜿çšããããã®ãªãã¡ã¯ã¿ãªã³ã°ã«ã€ããŠããã§èª¬æããŠããããšä»¥äžã®äœæ¥ã¯ãããŸããã ããããæ°ããåé¡ãéã代ããã«ãããã§èšåããå¯äžã®çç±ã§ãã
åªããäŸã«ã€ããŠã¯ã以äžã®TypeScriptãã¬ã€ã°ã©ãŠã³ããªã³ã¯ãåç §ããŠãã ããã
@joejordanbrown
ã¿ã€ãã¹ã¯ãªããããã®ç¹å®ã®åé¡ã«å¯Ÿããæè¯ã®è§£æ±ºçã§ãããšããããšã«ã€ããŠãããªãã«åæã§ããªãå¯èœæ§ã®ãã人ãæãæµ®ãã¹ãããšãã§ããŸããïŒ
ã°ãŒã°ã«ã«typescript vs
ãšå
¥åãããšãããã€ãã®çšèªããããã¢ãã衚瀺ãããŸãããã®ãã¡ã®1ã€ã¯ãããŒã§ãã ãããæ€çŽ¢ãããšã人ã
ãããã2ã€ã®é·æãšçæã«ã€ããŠè°è«ããŠããå€ãã®èšäºãåŸãããããã§ãã
ãããã®ãããããéžæããããšã»ã©åŠ¥åã®ããã«æãããã¿ã€ãã¯ãããŸããã
äœæããçµæãããè€éãªãããžã§ã¯ãã®Typescriptãä¿åããŸããç¹ã«ãæåããHTMLã§å®è£ ã§ããããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ã§ãã ç§ã®åœåã®ãã€ã³ãã¯ãJavaScriptã®ç æ°ãåãé€ãããšã§ãããæªåãããããšã§ã¯ãããŸããã§ããã JavaScriptã¯åçŽãªã»ãšãã©ããã¡ãã®èšèªã§ãããthree.jsã®ãããªè€éãªçµæã«äœ¿çšãããããšããããŸãã Typescriptã¯ç¡æå³ã§ãã
2017幎9æ6æ¥ååŸ1æ55åã Joenotifications @ github.comã¯æ¬¡ã®ããã«æžããŠããŸãã
@mrdoob
TypeScriptããã©ãŠã¶ã§çŽæ¥å®è¡ã§ããªããšããçç±ã ãã§äœ¿çšããªãæ£åœãªçç±ãšããŠããããç解ããããšã¯ã§ããŸããã ã³ã³ãã€ã«æã®ãã§ãã¯ã®ã¿ãç®çãšããäœåãªã³ãŒãè¡ãããããããã©ãŠã¶ãŒã§å®è¡ããããšã¯æãŸãããããŸããã çŸåšãã©ã³ã¿ã€ã ãã§ãã¯èšèªã§ã¯ãããŸããã ãããã£ãŠããã©ãŠã¶ã§äœ¿çšãããããšãããã°ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžãããããå ¥åãããã³ãŒãããã¹ãŠåé€ãããå¯èœæ§ãé«ããããã¯ããã©JavaScriptã³ãŒãã«ãªããŸãã
åä»ãèšèªã䜿çšããããšã®ãã€ã³ããšã倧èŠæš¡ãªã³ãŒãããŒã¹ã§ã®éçºã«ããããã®å©ç¹ãå®å šã«èŠéããŠãããšæããŸãã ããªãã¯ãŸã JavaScriptãäœæããŠäœ¿çšããŠããŸãããTypeScriptã®èŠç¹ã¯ãJavaScriptã®ã¹ãŒããŒã»ããã§ãããšããããšã§ãã ã³ã³ãã€ã©ãªãã·ã§ã³ã§æ§æå¯èœãªæå®ãããECMAScriptã¿ãŒã²ããããŒãžã§ã³ã§JavaScriptã«ã³ã³ãã€ã«ãããã¿ã€ãã䜿çšããŠJavaScriptãèšè¿°ããŸããèš±å¯ãããå€ã¯ãães3ããães5ããães2015ããães2016ããães2017ãããŸãã¯ããã§ãã esnext 'ã
Typescriptã¯JavaScriptã§ãããããäžåºŠã«ãã¹ãŠããªãã¡ã¯ã¿ãªã³ã°ãããšãã倧ããªé çã®çš®ãæ±ããããšãªãã段éçã«ç§»è¡ããããšãã§ããŸãã ããã¯ã³ãã¥ããã£ã«ãã£ãŠåŸã ã«è¡ãããæ¹åãããå¯èœæ§ããããŸãã ES6ã¯ã©ã¹ã䜿çšããããã®ãªãã¡ã¯ã¿ãªã³ã°ã«ã€ããŠããã§èª¬æããŠããããšä»¥äžã®äœæ¥ã¯ãããŸããã ããããæ°ããåé¡ãéã代ããã«ãããã§èšåããå¯äžã®çç±ã§ãã
äŸã«ã€ããŠã¯ãTypeScriptãã¬ã€ã°ã©ãŠã³ãã®ãªã³ã¯ãåç §ããŠãã ããã
å€å žçãªJavaScriptã®äŸ
ã¿ã€ãã®è¿œå ã®äŸ
ãšã©ãŒã®ããã¿ã€ãã®è¿œå äŸ
ã¯ã©ã¹ã®äœ¿çšäŸ
ãšã©ãŒã®ããã¯ã©ã¹ã®äœ¿çšäŸ
â
ã¹ã¬ãããäœæããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããããã¹ã¬ããããã¥ãŒãããŠãã ããã
^äžè²«ããŠããéãã巚倧ãªãã¿ãŒã³ã§ã倧äžå€«ã§ãã
@joejordanbrownã¯ãtypescriptã倧奜ããªããã§ãã ãããžã§ã¯ãããã©ãŒã¯ããŠãtypescriptã«ç§»æ€ããŠãã ããã three.tsïŒ ð
@pailhead
ããã¯éžæã®åé¡ã§ããç§ã¯å€ãã®äººãè³æãšå察ãããã ãããšç¢ºä¿¡ããŠããŸããããã¯æ£ããã§ããæ£åžžã§ãïŒ ããªãã¯ãã€ãããã察ãããããç§ã®ãã®ã¯ããªãã®ãã®ãããåªããŠããããèŠãã§ãããã ããããã«ç¬èªã®ã¡ãªãããããããšãç解ããŠããŸãã ããã¯ãå©çšå¯èœãªãªãã·ã§ã³ãæ¯èŒæ€èšãããããããããžã§ã¯ãã«å©çãããããããšãã§ãããã©ããã確èªããããšã§ãã æ¯èŒã¯è¯ãããšã§ããããã¯ãããžã§ã¯ããããã«æšãé²ããŸãã
ããªãã¯ãããŒã«ã€ããŠèšåããŸããããã«é¢ããŠç§ãèŠãåé¡ã¯æ¬¡ã®ãšããã§ãïŒ
ãããŒã©ã€ã»ã³ã¹ã¯BSD3æ¡é ã FacebookBSD +ç¹èš±ã©ã€ã»ã³ã¹ãã§ãããApache SoftwareFoundationã¯æ°ãããããžã§ã¯ãã§ã®ãã®ã©ã€ã»ã³ã¹ã®äœ¿çšãçŠæ¢ããŸããã 詳现ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
TypeScriptãšæ¯èŒããŠIDEãµããŒããäžè¶³ããŠããŸãã
TypeScriptã«æ¯ã¹ãŠãŠãŒã¶ãŒããŒã¹ã¯å°ããã§ããã
å ¬å ±å³æžé€šã§å©çšã§ããã¿ã€ãã³ã°ã¯äžå®å šã§ãããTypeScriptã«ã¯ãã管çãããã¿ã€ãã³ã°ããããããããŸãã
ããã¥ã¡ã³ããšãªãœãŒã¹ã¯èŠã€ããã®ãé£ãããTypeScriptãšæ¯èŒãããšãããŸãã§ããåªããããã¥ã¡ã³ããæžç±ããããªããã®ä»ã®å€ãã®eã©ãŒãã³ã°ãªãœãŒã¹ããããŸãã
Flowã¯// @flow
ã®ãã©ã°ãä»ãã.jsãã¡ã€ã«ã䜿çšããŸãã .js
æ¡åŒµåã衚瀺ããããããããã¯æ··ä¹±ãæãå¯èœæ§ããããŸããJavaScriptãæåŸ
ããŸãããå®éã«ã¯FlowTypeã§ãã TypeScriptã¯ç¬èªã®æ¡åŒµå.ts
ã䜿çšããŸããã ããã«ãããåããã£ã¬ã¯ããªã«åãååã®TypeScriptåºåãã¡ã€ã«ãšJavaScriptåºåãã¡ã€ã«ãå«ããããšãã§ããŸããããã¯ããã«ãã䜿çšããããã倧èŠæš¡ãªãããžã§ã¯ãã«ã¯åœãŠã¯ãŸããªããå°ããªãããžã§ã¯ãã«ã¯çæ³çã§ãããã«ãããã»ã¹ã管çããã·ã¹ãã ã
ã°ãŒã°ã«ã§ããTypeScriptã倧ãã«æ¯æããŠãããããã¯åœŒããTypeScriptã«èªä¿¡ãæã£ãŠããããšã瀺ããŠããŸãã ãããŸãã¯ããã®æçš¿ãèªãã§ãã ããã
Typescriptã¯ã2017幎3æã«ç¡å¶éã®ã¯ã©ã€ã¢ã³ãéçºãå¯èœã«ãªããŸãããTypeScriptãšAngular on TypeScriptã¯ãGoogle AnalyticsãFirebaseãGoogle Cloud Platformãããã³ãã°ãã©ããã³ã°ãåŸæ¥å¡ã¬ãã¥ãŒã補åæ¿èªããã³èµ·åããŒã«ãªã©ã®éèŠãªå éšããŒã«ã§äœ¿çšãããŸãã
åä»ãèšèªã®äœ¿çšã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ãéããä»ã®äººããã®ã¢ã€ãã¢ã«ã€ããŠã©ãæã£ãŠãããã確èªããããšæããŸããã @mrdoobã¯ãã¢ã€ãã¢ã«ã€ããŠè©±ãåãããšããå®å šã«å察ããŠããããã§ãã
@arctwelve
ãã®ãããžã§ã¯ããã©ã®ããã«è€éã§ãªããåä»ãèšèªã䜿çšãããšãããžã§ã¯ãã«æªåœ±é¿ãåã¶ãã¯ããããŸããã
@mrdoob
ãŸã£ããããã§ã¯ãããŸããããES6ã¯ã©ã¹ã«æŽæ°ããããã«æ°ãããã©ã³ããäœæãããŠããå Žåã¯ç¹ã«ããã®ã¡ãªããã確èªã§ããŸãã three.tsãšåŒã°ããç¬èªã®ãã©ãŒã¯ãäœæããŠçããã®ã¯ã°ãããŠãããšæããŸãã 1ã€ã®ãããžã§ã¯ãã«çŠç¹ãåãããŠæé«ã®ãã®ã«ããã®ã§ã¯ãªãã誰ããOSSãããžã§ã¯ãããã©ãŒã¯ããŠç¬èªã®ãœãŒã¹ã³ãŒããå€æŽããã ãã®å Žåãããã¯OSSã®åªããæ
£è¡ã«åããŸãã ã©ãããããããæ¬åœã«è²§åŒ±ãªãœãããŠã§ã¢ãã³ãã¥ããã£ãåå²ããã圌ãã奜ããããžã§ã¯ãã«éäžããããšã«ãªããŸãã ãªãããªãã¯è³åŠäž¡è«ã«ã€ããŠãªãŒãã³ãªè°è«ãããããšãã§ããªãã®ã§ããïŒ
æªéã®ä»£åŒè ãæŒããªãã§ãã ãããããã圌ãããããã§ã
ãªãŒãã³ãã£ã¹ã«ãã·ã§ã³
æ¬åœã«çãã£ãã§ã:)
ç§ãåããããªèŠæ¹ãããŠããŸããããã¯JSã©ã€ãã©ãªã§ãããJSã¯æšæºåãããŠããŸãã JSã©ã€ãã©ãªã«JSãéžæããããšã¯ééããããŸããããä»ã®äœããéžæããå Žåã¯ééããããŸããã ç§ã¯ãTypescriptã®ä»£æ¿æ段ã®1ã€ãšããŠFlowãæ¡çšããŸããããä»ã«ããå Žåã¯ããããŸããã
ãšã«ãããç§ãã¡ã¯æ¬åœã«è©±é¡ããå€ããããã§ãã
Mugen87ã¯ã¿ã€ãã«ãããå€æŽããŸãã
ES6ã¯ã©ã¹ãè©äŸ¡ããããã«JavaScriptã®ç æ°ãåé€ããŸã
å
ã®ã¿ã€ãã«ã¯ïŒç§ãç解ããŠããéãïŒã¹ã¿ã€ã«ã®äžè²«æ§ã®æ¬ åŠã«èšåããŠããŸããã ç¹ã«ãããå Žæã§ã¯Object.assign()
ã䜿çšããä»ã®å Žæã§ã¯å¥ã®ãã¿ãŒã³ã䜿çšããŸãã
ããã§äœããè©äŸ¡ãããšããããåé¡ã®çŸåšã®ã¿ã€ãã«ã«ãªããŸãã äžè²«æ§ã®åé¡ãæ°ããèšèªã®äœ¿çšã«ã€ããŠã®è°è«ã«åŒãäžããããã®ã¯ãªãã§ããïŒ
typescriptãšes6ã®äž¡æ¹ã§ãã³ãŒãã¯ããªãäžè²«ããŠããã¯ãã ãšæããŸãã
ãã®ããŒãžãæŽæ°ããããšã§ããã®åé¡ã«å¯ŸåŠããŸãã
https://github.com/mrdoob/three.js/wiki/Mr.doob's-Code-Style%E2%84%A2
ãããŠã次ã®ãããããè¿œå ããŸãã
AïŒã... Object.assign ...ã䜿çšããŠãã ããã
BïŒã... Object.assignã䜿çšããªãã§ãã ããã
ã©ã€ãã©ãªå šäœã§1ã€ã®ã¹ã¿ã€ã«ã å€æŽããå¿ èŠã¯ãããŸããã
ããšãã°ãMaterialsã¯ã©ã¹ã®å¿ å®ãª2è¡ã¹ã¿ã€ã«ã¯ãã¯ããã«æ確ã§ã¯ãªãŒã³ã§ãã
ããã¯æåã®æçš¿ã«ãããŸãã
ç§ã¯ææ¡ããŸãïŒ
ãšã«ãããç§ãã¡ã¯æ¬åœã«è©±é¡ããå€ããããã§ãã
ããã¯ããã @joejordanbrownã¯ãTypeScriptã«ã€ããŠè°è«ããããã®æ°ãããããã¯ãèªç±ã«äœæããŠãã ããã
ãšããã§ã以åã®äŒè©±ãç¡èŠããããšãOSSã®æªãç¿æ £ã§ã... httpsïŒ//github.com/mrdoob/three.js/issues/341#issuecomment -47000692
ãããã¯ã«æ»ããŸãã ç§ãã¡ã¯ãã§ã«ãã®åé¡ã解決ãããšæããŸãããïŒ
https://github.com/mrdoob/three.js/issues/11552#issuecomment -319449068
è©ŠããŠã¿ã人ãå¿ èŠã§ãã
ããããŸãã...ãŸã第äžã«
æåã®ãã¿ãŒã³ïŒæé«ã®IMOïŒïŒ
function MyClass() {...}
MyClass.prototype = Object.assign( Object.create( MyClassToInherit.prototype ), {
constructor: MyClass,
prop1: 'something',
method1: function someFunction() { .. },
...
});
2çªç®ã®ãã¿ãŒã³ïŒ
function MyClass() {...}
MyClass.prototype = Object.create( MyClassToInherit.prototype );
MyClass.prototype.constructor = PointLight;
MyClass.prototype.prop1 = 'something';
MyClass.prototype.method1 = function someFunction() { .. };
...
@arctwelveãã®ãã¿ãŒã³ã¯å€ãã®çç±ã§å°å ¥ãããŸããã ããã¯èªæ °è¡çºã§ã¯ãããŸããïŒ
ãŸã第äžã«ããªããžã§ã¯ãã®ç¶æ¿ã«ã€ããŠæ確ã«èªã¿åãããšãã§ããŸãã Object.assign
ã¯ããªããžã§ã¯ãã®ç¶æ¿ã«ã€ããŠæããã«ããã«ãããŸãã ããããã°ã MyClass.prototype
ã®å€ãã®è¡ã§ç¶æ¿ããããªããžã§ã¯ãã倱ãããšã¯ã§ããŸããã
第äºã«ãå€éç¶æ¿ã®å Žåããããã¯ããã«æ確ã§ãã
第äžã«ãã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒã¯èªã¿åãå¯èœã§ãããæåã®ãã€ã³ãã®ããã«å€ãã®è¡ã§å€±ãããããšã¯ãããŸããã
第4ã«ãããã«ãããããããã£ãšã¡ãœãããåãå ŽæïŒè§ãã£ãå
ïŒã«ã°ã«ãŒãåã§ããŸããããã¯ãåããã¡ã€ã«ã«3ã4ã5 ...ãªã©ã®ã¯ã©ã¹ãããå Žåã«éåžžã«æ確ã«ãªããŸãã
第5ã«ããã®ãã¿ãŒã³ã«ãããããã€ãã®ãç¶æ¿ããããããããã£ã®æ£ããã³ããŒããã§ãã¯ã§ããŸãã
æåŸã«ïŒ @looeee ïŒããããããã©ãŒãã³ã¹ã®ããã§ãã æåã®ããŒãžã§ã³ã¯ããããã¿ã€ããžã®è€æ°åã®åŒã³åºãã§ã¯ãªãããã¡ã€ã«è§£æãçºçãããšãã«ããã«æé©åãããŸãã
ãšããã ïŒ
ä»æ¥ã¯ãES6æ§æã«æž¡ãå¿ èŠããããŸãïŒ
@mrdoob
ããã§ããïŒ ç§ã¯çŸåšWebVRã«çŠç¹ãåãããŠããã®ã§ãããã¯ç§ä»¥å€ã®èª°ãã§ããå¿ èŠããããŸãã
è©ŠããŠã¿ã人ãå¿ èŠã§ãã
es6ãã©ã³ããäœæããŸããïŒ ãããšãç§ãã¡èªèº«ã§ããïŒ
æåã®ããŒãžã§ã³ã¯ããããã¿ã€ããžã®è€æ°åã®åŒã³åºãã§ã¯ãªãããã¡ã€ã«è§£æãçºçãããšãã«ããã«æé©åãããŸãã
ããããã§ããïŒ Object.Assign
ã¯ãã©ã¡ãããšããã°é
ããªããšæããŸãã ããããã©ã¡ãã®å Žåã§ããå¿é
ããã®ã«ååãªããã©ãŒãã³ã¹ã®ãªãŒããŒãããããããšã¯æããŸããã
絶察ã«ïŒ https ïŒ//jsperf.com/inline-prototype-vs-assign-prototype/1
chromeããŒãžã§ã³61.0.3163.100ïŒBuild officielïŒïŒ64ãããïŒã§å²ãåœãŠããããããã¿ã€ãã¯çŽ60ïŒ é«éã§ã
é¢çœãã ãã¹ããããŠãããŠããããšãã
ãã ãããã®çµæã¯ãã¹ãŠã®ãã©ãŠã¶ã«åœãŠã¯ãŸãããã§ã¯ãããŸããã Firefoxã§ã¯ãããã¯ã»ãŒåãã§ãïŒ Object.Assign
ã3ïŒ
éãïŒããEdgeã§ã¯Object.Assign
ã¯ã33ïŒ
é
ããªããŸãã
ãããããããã«ãããããã¯ã©ã®ã¹ã¿ã€ã«ãåªããŠãããã«ã€ããŠã®è°è«ãšããŠã¯ãŸã é©åã§ã¯ãªããšæããŸã-å šäœçã«æãé ãïŒChromeã®ã€ã³ã©ã€ã³ãããïŒã§ãã1ç§ããã18äžå以äžã®æäœã§å®è¡ãããŠãããããããæ°ååã®æäœããããŸããããã®èšå®ã¯ã³ãŒãã§è¡ãããŸãã ãããã£ãŠãããã§ã¯ããããæ°ããªç§ã®éãã«ã€ããŠè©±ããŠããã®ã§ãããã
ç§ã«ãšã£ãŠã Object.Assign
ã¹ã¿ã€ã«ã¯ããã¯ãªãŒã³ã§èªã¿ããããããããããæ¯æããäž»ãªè°è«ã§ãã
ã¯ããããã¯ãã¡ã€ã«ãããçŽæ°ããªç§ã§ããããã¡ã€ã«ãjavascriptãšã³ãžã³ã«ãã£ãŠåããŠè§£æãããå Žåã®ã¿ã§ã...ããããthreejsã®ãããªå€§ããªã©ã€ãã©ãªã®å ŽåãããŒãžã®èªã¿èŸŒã¿æã«ã²ã€ã³ã¯çŽ200ããªç§ã«ãªãå¯èœæ§ããããŸãã
ãã以äžåŸ
ã€ããšãã§ããªãããã³ããŠãŒã¶ãŒã®ããã®3scdã®å¶éãå¿ããªãã§ãã ããïŒ
ç§ã¯threejsã§Angularãããžã§ã¯ããäœæããããšããŠããŸãããåžžã«threejsã®ãã¹ãŠã®éšåããããã³ã°ããŠããããã«èŠããŸãã
ãŸã第äžã«ãããšãã°OrbitalControlsãå¿
èŠãªå Žåã«ååšããªããã°ãªããªãã®ã¯ã3ã€ã®å®æ°ãæã€es5æ§æã§ãã
threejsã¿ã€ãã³ã°ããããŸãããåãããã±ãŒãžã«å
¥ããæ¹ã䟿å©ã§ãã ã¿ã€ãã³ã°ã«ã¯OrbitalControlsããããŸããã import { OrbitalControls } from 'three;
ã®ããã«åçŽã«ã€ã³ããŒãããããšã¯ã§ããŸããã
Webpackã«ã¯ããªãŒã®æºããããããães6ã®å Žåãå¿
èŠãªãã®ããã¹ãŠ1ã€ã®ãããžã§ã¯ãã«å«ããããããå¥ã
ã®ãããžã§ã¯ãã«ç§»åããªãããã«ããããšãã§ããŸãã
@mrdoobã§ã¯ããªãTypescriptãããã»ã©æªãã®ã§ããããã ãšã«ããã¿ã€ãã³ã°ã䜿çšããŠãä»»æã®ããŒãžã§ã³ã®ESã«ã³ã³ãã€ã«ãããŸãã
ãŸããReactã®ãããªä»ã®å€ãã®ãã¬ãŒã ã¯ãŒã¯ã§ã䜿çšãããŸãã
@FriOne @mrdoobãTypescriptãæ¬åœã«æªããšæã£ãŠãããã©ããã¯ããããŸãããããã®ã¹ã¬ããã®ãããã¯ã§ã¯ãªãããããã®åé¡/ã¹ã¬ããã§Typescriptã«ã€ããŠè°è«ããããšã«å察ããŠãããšæããŸãã ES6ã¯ã©ã¹ã¯Typescriptã«å¯ŸããŠããŸãã¯Typescriptã«å¯ŸããŠã¯æ©èœããªããšæããŸãã ã³ãŒãããŒã¹ãES6ã«å€æãããšãæ§æãéåžžã«äŒŒãŠãããããã³ãŒãããŒã¹ãTypescriptã«ç§»æ€ããã®ãããã«ç°¡åã«ãªããŸãã ã¯ããTypescriptã¯å€ãã®æ°ãããªãã·ã§ã³ãæå¹ã«ã§ãããšæããŸãã ããšãã°ãããæé©åãããã³ãŒããããã©ã³ã¹ãã€ã«ãããã®ã«åœ¹ç«ã¡ãæ°ããéçºè ãã©ã€ãã©ãªãããéãåŠç¿ããã®ã«åœ¹ç«ã¡ãŸããããšãã°ã httpsïŒ//github.com/AssemblyScript/assemblyscriptã®ããã«ãå°æ¥ã®å®éšãžã®æãéããããããããŸããã Typescript @ joejordanbrownãé·æã詳现ã«èª¬æããããšã«ã¯å€ãã®å©ç¹ããããšæããŸãã
ãããããããã¯ã«æ»ããŸããES6ã¯ã©ã¹ãæ¡çšããããšã¯äžæ©åé²ã§ããããã®åŸãTypescriptã«ã€ããŠè°è«ããããšãã§ããŸãã ã§ã¯ã次ã ãšäžæ©é²ãã§ãããŸããã
@ tschoartschi ãtypescriptães6ã¯ã©ã¹ãžã®ç§»è¡ããã®ä»ã®ãªãã¡ã¯ã¿ãªã³ã°ã«åœ¹ç«ã€ãšæããŸãã ç§ã¯ãã®ãããªç§»è¡ã®çµéšããããŸãããããã¯ç§ãééã£ãŠãããããããŸããã
@FriOneäŸåããŸãðãã¡ãããã³ã³ãã€ã©ã¯ãã¹ãŠã®ãšã©ãŒãééããæããŠãããã®ã§ãTypescriptã¯åœ¹ã«ç«ã¡ãŸãããTypescriptã䜿çšããã«ã¯ãæåã«ãã«ããã€ãå šäœãèšå®ããå¿ èŠããããŸãã ããã«ãTypescriptãé©åãã©ãããè©äŸ¡ããå¿ èŠããããŸãã æåã«ES6ã¯ã©ã¹ã«å€æããŠãããTypescriptã«ã€ããŠèããã®ã¯åé¡ãªããšæããŸãã
ãããç§ãã¡ã¯KTHã®5人ã®åŠçã®ã°ã«ãŒãã§ãã³ãŒã¹ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«è²¢ç®ããããšèããŠããããããžã§ã¯ãã®äžéšãæ°ããES6æ§æã«å€æããŠã¿ãããšèããŠããŸãã
æŠå¿µå®èšŒãšããŠãThree.jsãããã€ãã®äŸãšãšãã«TypeScriptïŒr82ïŒã«ç§»æ€ããŸããã
https://github.com/flyover/three.ts
TypeScriptãœãŒã¹ã¯ãªã³ã¶ãã©ã€ã§ãã©ã³ã¹ãã€ã«ããããããäŸã®ããŒãã«ã¯å°ãæéãããããŸãã ãã©ã³ã¹ãã€ã«ãããJavaScriptã䜿çšãããšãå ã®JavaScriptãšåãé床ã§ããŒããããŸãã
three.jsãtypescriptã«ç§»æ€ãããã®ãèŠããã§ãã 次ã®ãŠã§ãäžä»£ã®ããã«æã®è©Šç·Žã«èãããã®ã§ããã°ããããžã§ã¯ããè¿ä»£åããå¿ èŠããããšç§ã¯æããŠããŸãã ããæ¥ãAssemblyScriptã§åäœããWASMã§å®è¡ãããããšãããããããããŸããã threejsã§ãªããã°ãä»ã®äœãããã£ãšãããªãã§ãããã
ããã¯@WestLangleyãš@mrdoobã§å®äºããŸã
@bhoustonããã§ã®çµè«ã¯äœã§ããïŒ
@pkieltykaã¯ããTypeScriptã¯Three.jsã®ãããªã©ã€ãã©ãªã«ãšã£ãŠéåžžã«çã«ããªã£ãŠãããšæããŸãã ãã¹ãŠã®æè¡çãªå°é家ã«å ããŠãã©ã€ãã©ãªã®äœ¿çšã容æã«ããåå¿è ãAPIãæ¢çŽ¢ããã®ã«åœ¹ç«ã¡ãŸãã ããããæåã«ãã¹ãŠã®ES6ã¹ã¿ãããçµäºããŠãããTypeScriptãæ€èšããããšãéèŠã ãšæããŸãã ææ°ã®JavaScriptãããTypeScriptã®åœ¢åŒã§åãè¿œå ããã®ã¯ããã»ã©è€éã§ã¯ãªããšæããŸãã
@flyover niceããTypeScriptããŒãžã§ã³ã®Three.jsã®æŠå¿µå®èšŒãåç §ããŠãã ããã Three.jsã®ã¡ã³ãããããã£ãŒãããã¯ãããããŸãããïŒ
three.jsã®typescriptããµããŒãããŠããŸãã typescirptã¯åºæ¬çã«æé«ã§ã
ç·Žç¿ãšçã®JavaScriptã¯ãããããŸããã
2019幎1æ5æ¥åææ¥ãåå4æ13åtschoartschi < [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
@pkieltykahttps ïŒ//github.com/pkieltykaã¯ãç§ãTypeScriptã ãšæããŸã
Three.jsã®ãããªã©ã€ãã©ãªã«ãšã£ãŠã¯éåžžã«çã«ããªã£ãŠããŸãã ãã¹ãŠã®æšªã«
æè¡çãªå°é家ã¯ãŸããã©ã€ãã©ãªã®äœ¿çšã容æã«ããåå¿è ãå©ããŸã
APIãæ¢çŽ¢ããŸãã ããããES6ããã¹ãŠå®æãããããšãéèŠã ãšæããŸã
æåã«è©°ã蟌ã¿ã次ã«TypeScriptãæ€èšããŸãã ææ°ããæã
JavaScriptTypeScriptã®åœ¢åŒã§åãè¿œå ããã®ã¯ããã»ã©è€éã§ã¯ãããŸããã@flyover https://github.com/flyoverããæŠå¿µå®èšŒãåç §ããŠãã ããã
Three.jsã®TypeScriptããŒãžã§ã³ã ã¡ã³ãããããã£ãŒãããã¯ãããããŸããã
Three.jsã®ïŒâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/mrdoob/three.js/issues/11552#issuecomment-451639995 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAj6_bkdND7I0_F4AJcBV0DYLpToUIVhks5vAGykgaJpZM4N9vH8
ã
@bhouston TypeScriptãåªãããã¯ãããžãŒã§ããããšã«åæããŸãããããªãã®ããã«ã¯èšããŸããã åžžã«çã®JavaScriptã«ã§ããã ãè¿ã¥ããŠãTypeScriptæ©èœãè¿œå ããå¿ èŠããããšæããŸãã TypeScriptã¯JavaScriptã®ä»æ§ã«éåžžã«å³å¯ã«åŸã£ãŠãããããTypeScriptã¯å®éã«ã¯åã䜿çšããES6ã®ããã«èªã¿åããŸãã
three.jsã®ãããªã©ã€ãã©ãªã®å ŽåãTypeScriptã¯éåžžã«æçã§ãããåŸã ã«æ¡çšãããå¯èœæ§ããããŸãã ãããã£ãŠãç¹ã«ãã¹ãŠã®ES6ãªãã¡ã¯ã¿ãªã³ã°ãçµäºããåŸã§ã¯ãªãããããã°ãã³ãã®æžãæãã¯å¿ èŠãããŸããã
TypeScriptã«å¯Ÿãã@mrdoobã®ã¹ã¿ã³ã¹ãå€ãã£ããã©ããèããŠã¿ããšé¢çœãã§ãããã TypeScriptã¯ãåä»ãJavaScriptãã®ãããã¡ã¯ããã¹ã¿ã³ããŒãã«ãªã£ãŠããããã§ãïŒããã¯é£ããäºå®ã§ã¯ãªãã®ã§ãç§ã®äž»åŒµãã¢ãã¹ãããã£ã®äžã«çœ®ããŠããããšã«æ³šæããŠãã ããïŒ
æåã®ã¹ãããã¯ãES6æ©èœãç¹ã«ã¯ã©ã¹ãç¢å°é¢æ°ããletããããã³ãconstããæ¡çšããããšã§ãã
@ roomle-buildãææããŠããããã«ãå¿ èŠã«å¿ããŠES6ã³ãŒãã®äžã«ã¿ã€ãã¹ã¯ãªããæ©èœã段éçã«è¿œå ããã®ã¯ç°¡åãªã®ã§ãã¿ã€ãã¹ã¯ãªããã®ãµããŒãã«ã€ããŠé©åã«è©±ãåãããšãã§ããŸãã
äž¡æ¹ãåæã«è¡ããšãç©äºãè€éã«ãªããããããã«æããŸãã
TypeScriptãå°æ¥ã®ããæç¹ã§ãªãã·ã§ã³ã«ãªãå¯èœæ§ããããšèããŠããããã§ãïŒ -ïŒ@ flyoverã«ãã£ãŠè¡ãããäœæ¥ã®äžéšãåå©çšã§ãããããããŸãã
ããããç§ã¯@looeeeã«å®å šã«åæããæåã«ãã¹ãŠã®ES6ãå®äºããŠããã次ã®ã¹ãããã«éäžããŸãã
ES6ã®ãã®ããã¹ãŠçµäºãã
å°ãªããšãå§ãããããå¬ããã§ãð
TypeScript woudlãžã®è¯ãäžéã¹ãããã¯ããã¹ãŠã®JavaScriptãã¡ã€ã«ã®æšªã«ã¿ã€ããã¡ã€ã«ãè¿œå ããããšã§ãã ãããã£ãŠã次ã®äž¡æ¹ããããŸãã
Vector3.js
Vector3.d.ts
ããã«ããããµã€ãã«ãŒãã¡ã€ã«ãšããŠã®TypeScriptã®ãã¹ãŠã®å©ç¹ãåŸãããŸãã
çŸåšã@ types / threeãã¡ã€ã«ããããŸãããå€ããåå¥ã«ç®¡çãããŠãããããåžžã«ããŒã¿ãäžè¶³ããŠããŸãã
Three.JSã®äž»ãªç«¶äºçžæã¯Babylongã§ãããå®å šã«ã¿ã€ãã¹ã¯ãªããã§ãããããããæ©æµãåãããšç§ã¯ä¿¡ããŠããŸãã
ãããã@ types / threeãåé€ãããµã€ãã«ãŒã¿ã€ãå®çŸ©ãã¡ã€ã«ãThreeã«çµ±åããããšã¯ããã°ãããæåã®ã¹ãããã§ãã
ãŸããããçš®ã®ããªãŒã·ã§ã€ã¯ã䜿çšããŠããã¹ãŠã®äŸã/ srcã«çµ±åããå¿ èŠããããŸãã
çŸåšãThree.JSã®ã³ãŒãæ§é ã¯2014幎ãªã®ã§ãäœæ¥ããã®ãé¢åã§ãã
ãã¹ãŠã®äŸïŒ
äŸ/ js
2019幎1æ7æ¥æææ¥ãåå10æ25åDusan Bosnjak < [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ãã¹ãŠã®äŸïŒ
â
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/mrdoob/three.js/issues/11552#issuecomment-451970482 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAj6_Q3Kakb5Qn2DqGbMVvLkW_28cOyaks5vA2b5gaJpZM4N9vH8
ã
@bhouston
TypeScript woudlãžã®è¯ãäžéã¹ãããã¯ããã¹ãŠã®JavaScriptãã¡ã€ã«ã®æšªã«ã¿ã€ããã¡ã€ã«ãè¿œå ããããšã§ãã ãããã£ãŠã次ã®äž¡æ¹ããããŸãã
Vector3.js
Vector3.d.ts
.d.tsãã¡ã€ã«ã¯cã®.hãã¡ã€ã«ãšããŠæ©èœããŸããïŒ
.d.tsãã¡ã€ã«ã¯cã®.hãã¡ã€ã«ãšããŠæ©èœããŸããïŒ
ããã¯éåžžã«è¯ãäŸãã§ãã èå³æ·±ã人ã¯ãããã®ã»ãšãã©ããã§ã«ããã§è¡ã£ãŠããŸãïŒ https ïŒ//github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/threeãããã£ãŠãå®éã«ã¯ããããã®ã¿ã€ããã¡ã€ã«ã®æææš©ãååŸããŠThree.jsã«çµ±åããã ãã§ãã å¿ èŠã«å¿ããŠããããThree.jsã«çµ±åããé©åã«åå²ããPRãäœæã§ããŸãã
Typescriptãã©ãã»ã©äººæ°ãââãããã瀺ãã«ã¯ã1é±éã«ããŠã³ããŒãããã@ Type / 3ã®æ°ã確èªããŸãã
https://www.npmjs.com/package/@types/three-1é±éããã63,000ããŠã³ããŒãã
å°è±¡çïŒ
å¿ èŠã«å¿ããŠããããThree.jsã«çµ±åããé©åã«åå²ããPRãäœæã§ããŸãã
ç§ã«ã¯ããã§ããð
eslintãšåæ§ã«ãã¿ã€ããã¡ã€ã«ãšãœãŒã¹.js
ãã¡ã€ã«ãæŽåããŠããããšã確èªããã³ãã³ãã©ã€ã³ãã§ãã¯ãå®è¡ããããšã¯å¯èœã§ããïŒ d.ts
ãã¡ã€ã«ã®æææš©ãååŸããå Žåã¯ãããããäžèŽããããšãå®æçã«ç¢ºèªããæ¹æ³ãçšæããããšã匷ããå§ãããŸãã
Typescriptãã©ãã»ã©äººæ°ãââãããã瀺ãã«ã¯ã1é±éã«ããŠã³ããŒãããã@ Type / 3ã®æ°ã確èªããŸãã
https://www.npmjs.com/package/@types/three-1é±éããã63,000ããŠã³ããŒãã
ããã¯ãVisual Studio Codeã䜿çšãããšãèªåã¿ã€ãååŸæ©èœãä»ããŠèªåçã«è¡ããããããVisual StudioCodeã®äººæ°ã«èµ·å ãããšèããããŸãã
ãšã¯ãããç¡èŠããããšã¯ã§ããŸããã
@flyover @ bunnybones1 @mrdoob @looeee @donmccurdy @bhouston @ roomle-build @pkieltyka @FriOne @joejordanbrownçããã¯TypeScriptã«èå³ãæã£ãŠããããã§ãã®ã§ãTypeScriptã«é¢ããæ°ããåé¡ãäœæããããšã«æ³šæããŠãã ããã TSã®ãã¹ãŠã®è°è«ãããã«ç§»ãããšã¯çã«ããªã£ãŠãããšæããŸãã èå³ãããå Žåã¯ã https ïŒ//github.com/mrdoob/three.js/issues/15545ã§èŠã€ããããšãã§ããŸãã
ES6ã¯ã©ã¹ã«ç§»æ€ããæéãçŽæããŸãã ããã¯ãTypescriptããµããŒãããããã®åªããããªããžãœãªã¥ãŒã·ã§ã³ã«ãªããšæããŸãã
æåã®ã¹ãããã¯ãããã€ãã®ã¢ããªã³ãES6ã«å€æããããšã§ãã
https://github.com/mrdoob/three.js/tree/dev/examples/jsm
ã³ã³ãããŒã«ãããŒããŒããšã¯ã¹ããŒã¿ãŒã¯è¯ãåè£ã§ãã ãæ°è»œã«ã©ããïŒ
@mrdoobã¯ç¢ºèªã®ããã«ãããããESã¢ãžã¥ãŒã«ã«å€æããããšãæå³ããŸãããä»ã®ES6æ©èœã¯ãŸã 䜿çšããŠããŸããã
ãã®å€æãè¡ãããã»ã¹ã¯æ¬¡ã®ãšããã ãšæããŸãã
rollup-examples.config.js
ã䜿çšããŠESã¢ãžã¥ãŒã«ãUMDã¢ãžã¥ãŒã«ã«å€æãå§ããŸãããã®æç¹ã§ã examples/js
ã®ããŒãžã§ã³ã¯ã«ãã£ãŠç¶æãããªããªããŸããæã@mrdoobã¯ç¢ºèªã®ããã«ãããããESã¢ãžã¥ãŒã«ã«å€æããããšãæå³ããŸãããä»ã®ES6æ©èœã¯ãŸã 䜿çšããŠããŸããã
ãããããããªããã æå®ãã¹ãã ã£ãã
ç§ãš@bhoustonã¯ãã»ãšãã©ã®Three.JSãããžã§ã¯ãã®* .d.tsãã¡ã€ã«ã«è²¢ç®ããçŽæãããPRãäœæããŸããã https://github.com/mrdoob/three.js/pull/15597
ES6ã¯ã©ã¹ãšTypescriptå®çŸ©ãåŸ
ã¡ãããŸããã three.jsã䜿çšãããã³ã«ãã¢ã¯ã»ã¹ã§ããªãã¹ã³ãŒãã«ãã1ã€ã®é¢æ°ãåå®è£
ããããã«ãæ°çŸè¡ã®ã³ãŒãè¡ãã³ããŒããŠè²Œãä»ããå¿
èŠããããŸãã ã·ãŒã³ãæé©åããå¿
èŠãããå Žåãããã¯å®éã«ã¯ãšã¬ã¬ã³ããªäœæ¥æ¹æ³ã§ã¯ãããŸããã æçµçã«é¢æ°ãæ¡åŒµããã³ãªãŒããŒã©ã€ãã§ããããã«ãªãã«ã¯ãã¯ãŒã¯ãããŒãæ°ããã¬ãã«ã«ãªããŸãã
ãããã£ãŠãã¯ã©ã¹é¢æ°ãå°ãªããšããä¿è·ãããäŸå€ãªãã¢ã¯ã»ã¹ã§ããããã«ããŠãã ããð€
three.jsã䜿çšãããã³ã«ãã¢ã¯ã»ã¹ã§ããªãã¹ã³ãŒãã«ãã1ã€ã®é¢æ°ãåå®è£ ããããã«ãæ°çŸè¡ã®ã³ãŒãè¡ãã³ããŒããŠè²Œãä»ããå¿ èŠããããŸãã ...ãããã£ãŠãã¯ã©ã¹é¢æ°ãå°ãªããšããä¿è·ãããäŸå€ãªãã¢ã¯ã»ã¹ã§ããããã«ããŠãã ããã
@dionysiusmarquisããã§ã®æå³ãããããŸãã...æ¢åã®TSã¿ã€ãã³ã°ã«ã¯ã䜿çšãããé¢æ°ã誀ã£ãŠãã©ã€ããŒããšããŠããŒã¯ãããŠããŸããïŒ ãŸãã¯ãçŸåšã®ãããã¿ã€ãã¹ã¿ã€ã«ã®ã¯ã©ã¹å®çŸ©ã«ã€ããŠãTSã§äœ¿çšããã®ã¯é£ããã§ããïŒ äŸãæããŠããã ããŸããïŒ
three.jsã䜿çšãããã³ã«ãã¢ã¯ã»ã¹ã§ããªãã¹ã³ãŒãã«ãã1ã€ã®é¢æ°ãåå®è£ ããããã«ãæ°çŸè¡ã®ã³ãŒãè¡ãã³ããŒããŠè²Œãä»ããå¿ èŠããããŸãã ...ãããã£ãŠãã¯ã©ã¹é¢æ°ãå°ãªããšããä¿è·ãããäŸå€ãªãã¢ã¯ã»ã¹ã§ããããã«ããŠãã ããã
@dionysiusmarquisããã§ã®æå³ãããããŸãã...æ¢åã®TSã¿ã€ãã³ã°ã«ã¯ã䜿çšãããé¢æ°ã誀ã£ãŠãã©ã€ããŒããšããŠããŒã¯ãããŠããŸããïŒ ãŸãã¯ãçŸåšã®ãããã¿ã€ãã¹ã¿ã€ã«ã®ã¯ã©ã¹å®çŸ©ã«ã€ããŠãTSã§äœ¿çšããã®ã¯é£ããã§ããïŒ äŸãæããŠããã ããŸããïŒ
ç¹å®ã®ã·ããªãªã«å¯ŸããŠç¹å®ã®ã·ã£ããŠããããå®è£
ãããã£ãã ãã§ãã ããšãã°ã getDepthMaterial
ããªãŒããŒã©ã€ãã§ãããšäŸ¿å©ã§ãã çŸæç¹ã§ã¯ããã«ãããã»ã¹ã«èªåã®WebGLShadowMap
ãæ¿å
¥ããå¿
èŠãªå€æŽãå«ãã³ããŒ/貌ãä»ãããŒãžã§ã³ã䜿çšããŠããŸãã
ãã¹ãŠã®three.js
ã¯ã©ã¹ãå¯èœãªéãå
¬éããããšããã§ããã typescriptã䜿çšãããšãé¢æ°ã«private
ãŸãã¯protected
ã®ãã©ã°ãä»ããŠãç®çãç°¡åã«èª¬æã§ããŸãã ããšãã°ãç§ã®ES6ã¯ã©ã¹/ TypescriptShadowMapã¯æ¬¡ã®ããã«ãªããŸãã
interface MaterialCache {
[uuid: string]: {[uuid: string]: MeshDepthMaterial}
}
class ShadowMap {
public enabled: boolean = false
public autoUpdate: boolean = true
public needsUpdate: boolean = false
public type: ShadowMapType
âŠ
protected depthMaterials: MeshDepthMaterial[]
protected materialCache: MaterialCache
constructor (renderer: WebGLRenderer, objects: WebGLObjects, maxTextureSize: any) {
âŠ
}
protected getDepthMaterial (object: Object3D, material: Material) {
âŠ
}
}
export { ShadowMap as WebGLShadowMap }
ãäœã¬ãã«ãã®ã¯ã©ã¹ãå€æŽããããšãèš±å¯ãããŠããå Žåãããã¯ã¡ããã©å®¶ã®ããã«æããŸã
ã¯ã©ã¹ã®æèã§è³ªåããããŸãã Vector3.unprojectã®ãããªã¡ãœãããã¯ã©ã¹æ§æã«ã©ã®ããã«è»¢éããŸããïŒ ãã®ã¡ãœããã¯ãå®éã«ã¯ãæ°ããã¹ã³ãŒããäœæããããã«ã¯ããŒãžã£ã䜿çšããŸãã ããã¯ããªããžã§ã¯ãã®äœæéãå¯èœãªéãå°ãªãä¿ã€éèŠãªã¡ã«ããºã ã§ãã
ãã®ãããªå Žåã
Object.assign
ãå¿ èŠã§ããïŒ
@ Mugen87
ããã§ãã¯ã©ã¹ã䜿çšããŠã¯ããŒãžã£ãå®è¡ã§ããŸãã ãã®æ§æç³è¡£ã§ããã²ãŒãããæ¹æ³ã¯æããã§ã¯ãããŸããã StackOverflowã§ç§ã®çããåç §ããŠãã ããïŒ https ïŒ//stackoverflow.com/questions/39297258/iife-in-es6-class-literal/56077521#56077521ïŒç§ã¯è¬èã«ãªãããããã©ã®ããã«/ãªãæ©èœããã®ããå®å šã«ç解ããŠããªãããšãèªããªããã°ãªããŸãããïŒ
ç³ãèš³ãããŸãããããã®ã³ãŒãã¯ã¢ã³ããã¿ãŒã³ã®ããã«èŠããããããããžã§ã¯ãã§ãããé©å¿ãããã¹ãã§ã¯ãããŸããã ã¢ãžã¥ãŒã«ã¹ã³ãŒãã§å€æ°ã管çããããã®é©åãªãœãªã¥ãŒã·ã§ã³ããããŸãã ãã®ã«ãŒãã«è¡ãããšããå§ãããŸãã
@ Mugen87ã¯ãç§ãmodule-scopeãããŸãå©çšãã¹ãã ãšæããŸãã ããã¯ãããªãŒã®æºããªã©ã«ã圹ç«ã¡ãŸãã ããã¯ããã®ãããªä»ã®å€ãã®åé¡ã§ãã§ã«è°è«ãããŠããŸãïŒ https ïŒ//github.com/mrdoob/three.js/issues/6241#issuecomment -398703521
ç³ãèš³ãããŸãããããã®ã³ãŒãã¯ã¢ã³ããã¿ãŒã³ã®ããã«èŠããããããããžã§ã¯ãã§ãããé©å¿ãããã¹ãã§ã¯ãããŸããã ã¢ãžã¥ãŒã«ã¹ã³ãŒãã§å€æ°ã管çããããã®é©åãªãœãªã¥ãŒã·ã§ã³ããããŸãã ãã®ã«ãŒãã«è¡ãããšããå§ãããŸãã
åé¡ãªãã å¯èœæ§ã«ã€ããŠè§ŠããŸããã ããè¯ã/ããã¯ãªãŒã³ãªãœãªã¥ãŒã·ã§ã³ãé²è¡äžã®å Žåãç§ã¯ãããå®éã«åäœããã®ãèŠãããšæã£ãŠããŸãã Three.jsãããžã§ã¯ãïŒäœ¿çšæ³ããœãŒã¹ããã£ã¹ã«ãã·ã§ã³ãªã©ïŒã¯JSã®ç¥èã®äž»ãªæ å ±æºã§ãããããThree.jsã«æ°ããããåªããããã°ã©ãã³ã°ãã¿ãŒã³ãå°å ¥ããããšã¯ãç§ãšç§ã®ãããžã§ã¯ãã«ã圹ç«ã€ã§ãããã ç³ãèš³ãããŸããã ;-)
@ Mugen87ç§ãããå°ãåŠã³ãç解ã§ããããã«ããããã ãã«ãã¯ã©ã¹IIFEãã¢ã³ããã¿ãŒã³ãšèŠãªãçç±ã«ã€ããŠå°ã詳ãã説æããŠããã ããŸããïŒ ã¢ãžã¥ãŒã«ã¯æ¬è³ªçã«å€æ°ãã¹ã³ãŒãããããšãç解ããŠããŸãããããã¯ä»¥åã«ã³ã¢ãæ§ç¯ãããŠããæ¹æ³ãšåãã§ãã ãŸãããã£ãã·ã¥å€æ°ã䜿çšããé¢æ°ãéåžžã«å€ããããã©ã®é¢æ°ãåæã«è¡çªãããå€æ°ã䜿çšãããããªãããã«ããããšãéåžžã«éèŠã«ãªããŸããé¢æ°ã®ã¹ã³ãŒãã«ãããããã管çããã³ä¿å®ãããããªããŸãããã®ãããç§ã«ã¯ããããŸãããã¢ã³ããã¿ãŒã³ãšããŠïŒå°ãªããšããã¢ãžã¥ãŒã«ã¹ã³ãŒãå ã®ãã¹ãŠã®ãã£ãã·ã¥å€æ°ãã¹ããŒããå Žåãšæ¯èŒããå ŽåïŒã
ã¯ã©ã¹IIFEãã¢ã³ããã¿ãŒã³ãšèŠãªãçç±ã«ã€ããŠå°ã詳ãã説æããŠãã ããã
https://github.com/mrdoob/three.js/pull/14695ã§èª¬æãããŠããããã«ãããªãŒã®æºãã劚ããå¯èœæ§ã®ããã¢ãããŒãã¯äœ¿çšããŸããã ãã®äžããã¿ãŒã³å šäœãããã¯ã®ããã«èŠãããšæããŸãã éåžžãã掟æãªãã¢ãããŒããããŸã䜿çšããªãæ¹ãå¹æçã§ãã äžå¿ èŠãªã¯ããŒãžã£ãåé¿ããããšã§ãäžè¬çã«ã³ãŒãå®è¡ã®ããã©ãŒãã³ã¹ãåäžããã¯ãã§ãïŒãããåç §ã§èšŒæããããšã¯ã§ããŸããããå ã»ã©ã®è¬æŒã§èããããšããããŸãïŒã
ãŸãããã£ãã·ã¥å€æ°ã䜿çšããé¢æ°ãéåžžã«å€ããããã©ã®é¢æ°ãåæã«å€æ°ãè¡çªãããã䜿çšãããããªãããã«ããããšãéåžžã«éèŠã«ãªããŸãã
IIFEã¯ãäž»ã«æ°åŠã®ææ¥ã§äœ¿çšãããŸãã ããã«ã¯ããªãã®éã®ãã¹ãã«ãã¬ããžãããã®ã§ïŒ @ gero3ã¯æè¿ãåäœãã¹ããè¿œå ããããšã§çŽ æŽãããä»äºãããŸããïŒããããã®åé€ãå ç¢ã«ããæ¹ãç°¡åãªã¯ãã§ãã
IIFEãåé€ããŠãåé¡ãããŸããã ç§ã¯2013幎ã«ãããæ åœãããšæããŸããããã¯ç¶æããã®ãé£ããéçå€æ°ãã¿ãŒã³ãåãé€ãããšã§ããã ããã¯ãã®PRã§è¡ãããŸããïŒ
https://github.com/mrdoob/three.js/pull/2941
https://github.com/mrdoob/three.js/issues/2936
ãããŠãããã§ããã«åã«è°è«ããŸããïŒ
https://github.com/mrdoob/three.js/pull/2920#issuecomment -12217793
èå³æ·±ãããšã«ãããããå ¥ããŠããã³ãŒãã®ããã©ãŒãã³ã¹ã«éãã¯ãããŸããã§ããã
ãã®å€æãè¡ãããã»ã¹ã¯æ¬¡ã®ãšããã ãšæããŸãã
- Modularize.jsã¹ã¯ãªããã䜿çšããŠãå ã®ãã¡ã€ã«ãESã¢ãžã¥ãŒã«ã«å€æããŸãã
- å¿ èŠã«å¿ããŠåé¡ãã¯ãªãŒã³ã¢ããããŸãã
- ããæç¹ïŒãã®ãªãªãŒã¹ããŸãã¯è¿ãå°æ¥ïŒã§ã
rollup-examples.config.js
ã䜿çšããŠESã¢ãžã¥ãŒã«ãUMDã¢ãžã¥ãŒã«ã«å€æãå§ããŸãããã®æç¹ã§ãexamples/js
ã®ããŒãžã§ã³ã¯ã«ãã£ãŠç¶æãããªããªããŸããæã- ãããå®å®ããããES6æ©èœã®å°å ¥ãªã©ã®ä»ã®å€æŽãæ€èšã§ããŸãã
ããã èŠéãããããããŸããããããã¯ã¯ã©ã¹ã«åãã段éçãªã¹ãããã§ãããïŒ
äžèšã®æé ã§ã¯ãåºæ¬çã«æé ïŒ1ïŒãšïŒ2ïŒãå®äºããŸããã
ã¹ãããïŒ3ïŒãã以äžãã®æ¹æ³ã¯å®è¡ããŠããŸãããã代ããã«ãããæç¹ã§examples/js
ãã©ã«ããŒãå»æ¢ããŠåé€ããŸãïŒhttps://github.com/mrdoob/three.js/pull/18749ãåç
§ïŒã ã
ã€ãŸããã¹ãããïŒ4ïŒã§ES6ã¯ã©ã¹ãexamples/jsm
ã«å°å
¥ããããšã¯ãïŒä»ã®ãšããïŒ examples/js
ãœãŒã¹ããŒãžã§ã³ããçæãããŠããªãããå°æ°ã®äŸã§ã®ã¿å®è¡ã§ããããšãæå³ããŸãã examples/js
ãåé€ãããããæ®ããå®è¡ã§ããŸãã
^ããããç§ã¯ããã®è¡ã®éãèªã¿ãããŠãããããããŸãããå€å@ Mugen87ãŸãã¯@mrdoobã¯ç¢ºèªã§ããŸããïŒ
IMOããããžã§ã¯ãã¯ãã¢ãžã¥ãŒã«ã®ã¿ã®ã³ãŒãããŒã¹ãå®çŸããããã«ã examples/js
ã®éæšå¥šãšåé€ã«çŠç¹ãåœãŠãå¿
èŠããããŸãã 次ã®ã¹ãããã§ã¯ãã¯ã©ã¹ã®ç§»è¡ã«é²ãããšããå§ãããŸãã äŸããå§ããŠãã³ã¢ã移è¡ããŸãã
å®å šã ããããšãããããŸãã ãããã®æ¹æ³ã詳ããèŠãŠãããŸã
ã¯ããŒãºãããåé¡ããåæçš¿ãããŸããã
ããã
ãã®åé¡ãäœæããŠãã¯ã©ã¹ã®ç§»è¡ãã©ã®ããã«é²ããããã«ã€ããŠãçããã®èããåŒãåºããŠã¿ããã£ãã®ã§ãã
ç§ããããŸã§ã«ééããããšã®ç°¡åãªèŠçŽïŒ
ç§ã¯äœããéããããšããããŸããïŒ
ä»ã®ããšãããåã«ãexamplesãã©ã«ããå»æ¢ããå¿ èŠããããŸã
examples/js
ãã©ã«ããŒã®ç¹å®ã®æ¬¡ã®ã¹ãããã®è²¬ä»»è
ãããããŸããã ãã®èšç»ãæ確ã«è¡šçŸã§ããªãéããESã¯ã©ã¹ãžã®å€æã劚ããªãããã«ããããšæããŸãã ãã®ããã httpsïŒ //github.com/mrdoob/three.js/issues/11552#issuecomment-592768708ã«ã¯å€å°åæããŸããã ð
ããã«ãæ¥ä»ãèšå®ãããã®ãåŸ ã£ãŠããããã§ãã
ãŸããç§ãè¡ã£ãå°ãã®æ¹èšã®äžç°ãšããŠãçŸåšã®ããŒã«ã¢ãããã«ãããã»ã¹ãä»ããŠä»ã®ES2015æ©èœãã©ã®ããã«å°å ¥ã§ãããã«ã€ããŠã®ãã®ã³ã¡ã³ããèŠã€ããŸããã äžããããäŸãããããŸãã
ç·šéïŒããã«å¥ã®ç°¡åãªäŸã®èŠç¹ããããŸã
@Definitelyãã¶ãç§ã«ã¯æéããããå©ããããšæã£ãŠããŸãã dependencies.json
ãªã¹ãã«ããã¢ã€ãã ãããã€ãåãåãããšã¯ã§ããŸããïŒ
@DefinitelyMaybe Object3D
ã®ãããªæ·±ãç¥å
ããã®ç¶æ¿ã«å¯ŸåŠããããã®æè¯ã®æ¹æ³ã¯äœã§ããïŒ ããšãã°ã src/audio/AudioListener.js
ã®å€æã§ç ŽæãçºçããŸããïŒ
[ROLLUP] bundles src/Three.js â build/three.js...
[ROLLUP] (!) Error when using sourcemap for reporting an error: Can't resolve original location of error.
[ROLLUP] src/audio/AudioListener.js: (137:1)
[ROLLUP] [!] Error: 'return' outside of function
[ROLLUP] src/audio/AudioListener.js (137:1)
[ROLLUP] 135: };
[ROLLUP] 136:
[ROLLUP] 137: return AudioListener;
[ROLLUP] ^
[ROLLUP] 138: }(Object3D));
[ROLLUP] Error: 'return' outside of function
Imãæ£ããèŠããŠããã°ãééããåé¡ã«ã€ããŠãã¡ã€ã«ã®å é ã«ã¡ã¢ããšãã€ããã§ããã
AudioListenerã§äœãèµ·ãã£ãŠããã®ã誀解ããŸãã...ãããã°ããåŸã bubleCleanup
ãã©ã³ã¹ãã©ãŒã ã«äžèŽããåé¡ããããšæããŸãã 詳现ã«ã€ããŠã¯ã httpsïŒ //github.com/mrdoob/three.js/pull/19934#issuecomment-667411997ãåç
§ããŠãã ããã ç§ã¯ããã€ãã®ç°ãªãã¯ã©ã¹ã§ããã«ééããã®ã§ãããã«å
ã«é²ãåã«ãããããããããœãŒãããå¿
èŠããããŸãã
ããã¯äžéšã®ãã¡ã€ã«ã«åœãŠã¯ãŸããŸããããã¹ãŠã§ã¯ãããŸããã ç§ãã¡ã¯ãã®ãããªåé¡ãäºæããŠããŸããã
以äžã®æ¹ã¯ããã¡ãã®ãã£ã¹ã«ãã·ã§ã³ããèªã¿ãã ããã
ãããŸã§ã®éã src/loaders
ãè©ŠããŠã¿ãŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
ãã©ãŠã¶ãTypeScriptããã€ãã£ãã«å®è¡ã§ããããã«ãªããŸã§ãç§ã¯JavaScriptã䜿ãç¶ããããšã奜ã¿ãŸãã