Tebaeleven / svg_blocks

https://tebaeleven.github.io/svg_blocks/src/v3_class/
0 stars 0 forks source link

scratchのように接続部分の形をsvgで作りたい #11

Closed Tebaeleven closed 1 year ago

Tebaeleven commented 1 year ago

目標

image

調査

Scratch

image どうやらScratchはpathで描画しているっぽい? image

<path class="blocklyPath blocklyBlockBackground" stroke="#cc8914ff" fill="#FFAB19" fill-opacity="1" d="m 0,4 A 4,4 0 0,1 4,0 H 12 c 2,0 3,1 4,2 l 4,4 c 1,1 2,2 4,2 h 12 c 2,0 3,-1 4,-2 l 4,-4 c 1,-1 2,-2 4,-2 H 156 a 4,4 0 0,1 4,4 v 40  a 4,4 0 0,1 -4,4 H 64 c -2,0 -3,1 -4,2 l -4,4 c -1,1 -2,2 -4,2 h -12 c -2,0 -3,-1 -4,-2 l -4,-4 c -1,-1 -2,-2 -4,-2 h -8  a 4,4 0 0,0 -4,4 v 16 a 4,4 0 0,0 4,4 h  8 c 2,0 3,1 4,2 l 4,4 c 1,1 2,2 4,2 h 12 c 2,0 3,-1 4,-2 l 4,-4 c 1,-1 2,-2 4,-2 H 156 H 156 a 4,4 0 0,1 4,4 v 24  a 4,4 0 0,1 -4,4 H 4 a 4,4 0 0,1 -4,-4 z"></path>
Tebaeleven commented 1 year ago

実験

image 試しにpathをコピーしてみた。

Tebaeleven commented 1 year ago

わかったこと

Tebaeleven commented 1 year ago

blocklyの描画について調査

https://blocklycodelabs.dev/codelabs/custom-renderer/index.html?index=..%2F..index#6

@param dir パスの垂直方向の乗数(-1または1) @returns 入力と出力の接続に使用するためのSVGPathライン。

Tebaeleven commented 1 year ago

svgのpathについて調査

https://qiita.com/takeshisakuma/items/777e3cb0a54ea7b1dbe7#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89

Tebaeleven commented 1 year ago

動的にサイズが変更できる謎

https://user-images.githubusercontent.com/73474645/236386051-a1b7d646-d10e-47a8-ae63-4256f9c8c067.mov inputに入れるとサイズが変更できるもの。全てpathで書かれているのに、どうやってうまい具合にサイズを変更しているのだろうか。