Processing の描画機能は高機能なのだが、スクリプト上で複雑な画像をゼロから描くのは面倒である。
そこで、Illustrator などのツールで作成したSVG画像を読み込んで表示するサンプルを作成してみた。
▽作成したHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <script src="processing-1.4.1.js" type="text/javascript"></script> </head> <body> <p> <canvas id="mycanvas"></canvas> </p> <button onClick="sketchProc2()">Move</ button> <script type="text/processing" data-processing-target="mycanvas"> PShape s; int cy; boolean down; void setup() { size(320, 320); noLoop(); s = loadShape("helicopter.svg"); cy = 10; down = true; } void draw() { background(255); // clear shape(s, 80, cy, 100, 52); } void moveSVG() { background(255); // clear if (cy <= 10) { down = true; } else if (250 <= cy) { down = false; } if (down) { cy += (random(10) + 10); } else { cy -= (random(10) + 10); } shape(s, 80, cy, 100, 52); } </script> <script id="script1" type="text/javascript"> function sketchProc2() { var p2 = Processing.getInstanceById("mycanvas"); p2.moveSVG(); } </script> </body> </html>▽実行結果
※ヘリコプターのSVG画像は、下記のサイトのアイコンを利用。
The Noun Project
http://thenounproject.com/
0 件のコメント:
コメントを投稿