これは、誰もが「コードを見せて」のようなものであり、「申し訳ありませんが、関連するコードの長さは約300行です」のようなものになるでしょう。ですから、できるだけ詳しく説明します。質問をし、クレイジーなアイデアを思いつきます。この時点で、正しい方向へのヒントでさえ、私にいくらかの髪を救うでしょう。
Raphaeljsを使用していくつかのアークセグメントを作成しています。大したことではありません、うまくいきます!ループ内で一度に複数を作成し、for
それらに「参照角度」(とりわけ)を「データ」として割り当てているので、後で他の関数でそれらを計算するために使用された角度がわかります。
非常に短縮されたバージョン:
//pieces being the number of arcs I'm creating
for (var i = 0; i < pieces; ++i){
var refAngle = foo + bar;
var my_arc = paper.path().attr({
arc: [foo, bar, etc]
});
my_arc.node.cmdata = params[0][i];
my_arc.node.cmdata[4] = refAngle;
//when checked here, my_arc.node.cmdata[4] === refAngle and is the value I am looking for
}
Params
円弧の描画に使用される静的データのマルチレベル配列です。アークが画面外にレンダリングされる場合はアークが移動され、値を満たさなくなる可能性があるため、refAngleを変更する必要がありますparams
。
正しい角度が計算されていることを100%確認できます。正しい角度が保存されていることを100%確認できます。保存後すぐに正しく取り出せることを100%確認できます。しかし、一貫した方法で(同じ操作を実行すると同じ結果が得られます)、後の1つ以上のループで、以前に作成されたアークの一部がmy_arc.node.cmdata[4]
変更されています-このログには、作成されたすべてのアークが記録されていますループmy_arc.node.cmdata[4]
の各反復のプロパティ。for
これは...意味がありません。Raphaelが何かをしているのか(すべきではない)、気が狂っているのか(トート可能)はわかりませんが、そのデータは変更されるべきではありません。これは私が取り組んでいるテストページなので、それを妨げる可能性のある他の関数が呼び出されることはありません。
ありがとう!