svg.jsのポリライン配列メソッドを使用して、カーソルのx、y座標をページに格納してログに記録します。svg.jsのポリライン配列メソッドにフィードを渡す配列を渡すと、エラーが発生します
最初にユーザーがページをブラウズしてカーソルを移動させ、値を配列に送り、ボタンをクリックすると、カーソルの動きに基づいて線が描かれます。
フォローするthis構文ビーイング:
var polyline = draw.polyline([[0,0], [100,50], [50,100]]).fill('none').stroke({ width: 1 })
を私は手動でコピー・ペーストした場合の値を配列でのように:予想通り
var polyline = draw.polyline([[475,76], [475,76], [489,75], (...)]]).fill('none').stroke({ width: 1 });
svg.jsが働きます。
私は変数に渡す場合には、それは私に告げるこの:
svg.js:2632 Error: <polyline> attribute points: Expected number, "NaN,528 NaN,531 …".
これは私のコードです:
// movement
var array_cursor_movement = [];
$(document).mousemove(function(e) {
var cursor_movement = "["+ e.pageX +","+ e.pageY +"]";
array_cursor_movement.push(cursor_movement);
var cursor_movement = array_cursor_movement.join(', ');
console.log("movement:" + cursor_movement);
localStorage.setItem("cursor_movement_pos", JSON.stringify(array_cursor_movement));
});
// click for preview lines
$(".preview--lines, .close--button").click(function(){
$(".preview").toggleClass("show--hide");
// draw lines
var retrievedData = localStorage.getItem("cursor_movement_pos");
var array_cursor_movement_b = JSON.parse(retrievedData);
var cursor_movement = array_cursor_movement_b.join(', ');
cursor_movement = "["+cursor_movement+"]";
console.log("preview:" + cursor_movement);
var width = window.innerWidth;
var height = window.innerHeight;
var draw = SVG('drawing').size(width, height);
var polyline = draw.polyline(cursor_movement).fill('none').stroke({ width: 1 });
})
誰もが経験を持っていますか?
おかげで、 アンドレ私はすでにコメントで述べたように
ポリラインに配列を渡すことはできません。あなたは以前に文字列にしました。 'var cursor_movement = array_cursor_movement_b.join( '、'); cursor_movement = "[" + cursor_movement + "]"; – Fuzzyma
文字列が必要な形式の 'x、y x、y x、y'であることを確認してください。コンマの周りに空白はありませんが、x、yのようなカンマの後に '.join( '、') 'で空白が挿入されるようです。 – Redu
@Reduは必要ありません。彼は配列をプッシュするだけで、結合した文字列はプッシュしないでください。 Opは既に正しい構文が何であるかを述べました。彼はちょうどそれを行う必要があります – Fuzzyma