1

ここで何が起こっているのか正確にはわかりません。構文の問題のようです。参考になるかもしれませんが、私は Javascript は初めてですが、AS3 の経験はあります。

このコードで:

https://github.com/mrdoob/three.js/blob/master/examples/canvas_lines.html

34 行目は次のとおりです。

camera, scene, renderer;

これらはグローバル スコープでの変数宣言であり、42 行目では、これらも init() 関数のスコープでの変数宣言であると想定しました。

42 行目:

particles, particle;

そのコードを少しいじってみると、そのようにグローバル スコープでパーティクル オブジェクトを宣言するとスクリプトが機能しないことがわかりましたが、そのように使用すると機能します。

var particle;

また、42行目を削除すると、irがうまく機能します。

なぜそのように機能するのですか?どうしたの?

ありがとう

4

3 に答える 3

1

このコードはフォーマットが不十分です (imho)。明確にはされていませんが、次のとおりです。

var mouseX = 0, mouseY = 0,

windowHalfX = window.innerWidth / 2,
windowHalfY = window.innerHeight / 2,

SEPARATION = 200,
AMOUNTX = 10,
AMOUNTY = 10,

camera, scene, renderer;

これは 1 つのvarステートメントであり、コンマが複数の行にわたって続いています。これにより、混乱が解消され、宣言を再配置するのに役立つ場合があります。

于 2012-07-24T02:15:53.327 に答える
0

42 行目 (41 行目の続き) で 'particles,particle' がローカル スコープで宣言されています。ただし、「粒子」はどこでも使用されておらず、「粒子」はローカルで使用されています。javascript で変数 local を宣言することは常に良い習慣です。行 42 を削除すると、「particle」がグローバル変数になります。ただし、「粒子」は関数のスコープ外では必要ないため、関数内でローカルに宣言することをお勧めします。Javascript は非常に簡単です。参照を確認できますhttp://www.w3schools.com/js & http://www.javascriptkit.com

于 2014-01-24T13:52:09.713 に答える
0

42行目は確かに

particles, particle;

ただし、41行目には

var コンテナー、分離 = 100、amountX = 50、amountY = 50、

したがって、完全なステートメントは(1行で)

var container, separation = 100, amountX = 50, amountY = 50, particles, particle;

失礼ではありませんが、次回はもう少し注意深くコードを読むことが役立つかもしれません。

于 2012-07-24T02:17:17.097 に答える