我想使用 svg.js 繪制一些元素,然后清除畫布并繪制新元素。我正在使用draw.clear(),但是當我重新繪制元素時,它們不可見。這種方法正確還是我錯過了什么?我也嘗試過刪除()。var width = 500;var height = 500;var pos_x = 0;var pos_y = 0;var texto = [];var grupo = [];var rect = [];var clip = [];var random_rotation = [];var latino = 'ABCDEFGHIJKLMNOPQRSTUVXYZ'.split('');var cirilico = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ'.split('');var hebreo = '??????????? ????????????? '.split('');var griego = 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨ'.split('');var arabe = '????????????????????????????????'.split('');var coreano = '???????????????????????????????????????????????????'.split('');var glagolitico = '???????????????????????????????????????????????'.split('');var hiragana = 'あかさたなはまやらわがざだばぱいきしちにひみり(ゐ)ぎじぢびぴうくすつぬふむゆるぐずづぶぷえけせてねへめれ(ゑ)げぜでべぺおこそとのほもよろをごぞどぼぽ'.split('');var katakana = 'アカサタナハマヤラワガザダバパヴァイキシチニヒミリ(ヰ)ギジヂビピヴィウクスツヌフムユルグズヅブプヴエケセテネヘメレ(ヱ)ゲゼデベペヴェオコソトノホモヨロヲゴゾドボポヴォ'.split('');var sistemas = [latino, cirilico, hebreo, griego, arabe, coreano, glagolitico, hiragana, katakana];var alfabeto = [];var letra = [];var draw = SVG().addTo('.container').size(width, height).attr({id: 'svg'}); function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min;}function getRndFloat(min, max) { return (Math.random() * (max - min)) + min;}這是我正在嘗試創建的程序的簡化版本。將來我想每當用戶單擊時清除并重新繪制。
1 回答

月關寶盒
TA貢獻1772條經驗 獲得超5個贊
您的代碼中的問題不是clear()方法。您正在使用全局變量pos_x并且pos_y正在遞增它們。在您的第二張圖中,圖像位于可見區域之外。要解決您的問題,請在函數的開頭初始化這些變量grafema:
// ...
function grafema() {
pos_x = 0;
pos_y = 0;
for (var i = 0; i <= 3; i++) {
// ...
無限繪圖的執行示例:
https://jsbin.com/mehuholiwo/edit?js,output
- 1 回答
- 0 關注
- 365 瀏覽
添加回答
舉報
0/150
提交
取消