0

これは、誰もが「コードを見せて」のようなものであり、「申し訳ありませんが、関連するコードの長さは約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が何かをしているのか(すべきではない)、気が狂っているのか(トート可能)はわかりませんが、そのデータは変更されるべきではありません。これは私が取り組んでいるテストページなので、それを妨げる可能性のある他の関数が呼び出されることはありません。

ありがとう!

4

0 に答える 0