新プログラミング言語B012(ボルズ)悪戦苦闘開発日記

ブロマガ(ニコニコ動画)から移転。プログラミンやScratchに触発された私が新しいプログラミング言語を開発するまでの記録。

ゔわ煮詰まったー【追記】

f:id:kairi-sakusaku:20181021080526p:plain

今やろうとしてるのはこういうことで、一見上手く言ってるように見えるでしょ?

ところがどっこい、これちょっとズルして見た目だけ体裁整えてます。

 

これ、fabric.jsを使い始めてからずーっとつきまとってるんだけど仕様なのかバグなのか図形を配置する際、プログラムの記入順番に表示されないという問題が。

具体的に言うと、「図形だけ」と「SVG含み」の2つのグループがあった場合、

普通は実行順に図形が順番に重なっていくんだが、SVG含みだけ順番無視して上に重なっていく。つまり、後に書いた「図形のみ」が下になっちゃう。

多分データ読み込みのタイムラグだと思うんだけど。

 

今までだったらパネルとボタンを別々にしたりとか、SVG画像が上に重なるというという方法を使ったりとかで対処してきたんだけど今回は中の文字を書き換える都合上、図形がSVG画像の上にきてないと上手くない。

一応、重なり順を変更するというsendToBack() というのがあって、画面はそれで対処してるんだけどコレ、マウスイベントで無理くり対応させた後なんだよね。書き出しの初期で実現しないと意味がない。

 

SVG読み込みを待って図形を書くか、普通にコンマ何秒かで図形を記入するようなやりかたをせんと駄目なんだろうけど・・・うーむ、どうやるんだ?

 

追記 ベタにsetTimeout('関数',時間);でいけました。

f:id:kairi-sakusaku:20181021093528p:plain

参考までにURL

http://yoseisan.happy.nu/b012/oki2.html

案ずるより産むが易しとは、よくいったもんだ。

ちなみにうちのパソコン環境だけかもですが、設定時間を750ミリ秒にしたらいけました。その前にSVGを何枚配置してるか、は関係なさそう。

これは検証してqiitaかQrunchネタだなぁ。