壁/ドア/家具などをグリッドにドラッグ アンド ドロップして部屋をデザインできるようにするルーム デザイナー プロジェクトの作業を開始しようとしています。透明なPNGをドラッグアンドドロップして絶対に配置することはうまくいかず、フラッシュを使用したくないと判断したため、キャンバスまたはSVGです。
ME: Canvas や SVG を使用したことはありませんが、javascript と jQuery に関しては非常に有能です (OO Javascript、匿名関数、クロージャ、コールバックなどは問題ありません)。Douglas Crockford の「Javascript:良い部分」とそのほとんどを理解しました;-)
プロジェクト- コンポーネント ウィンドウからデザイナ ウィンドウへのドラッグ アンド ドロップが必要で、タブレット (携帯電話ではない) で作業する必要があるため、タッチ イベントが懸念されます。また、ツールチップ、オブジェクトのレイヤリングなども必要です。ベクター グラフィックスを使用した場合は、とにかくビットマップ テクスチャが必要になります (たとえば、壁パネルには壁紙テクスチャが含まれる場合があります)。
これまでのところ、キャンバスに関する本を読んで、次の結論に達しました...
キャンバス
- 速い
- キャンバス上のオブジェクトを再描画するのはかなり簡単です
- マウスイベントについてはまだわかりません
- EaselJS、FabricJS、KinectJS などのライブラリは良さそうです。
SVG
- スケーラブル (ズーム機能の構築が容易)
- illustrator などから簡単にグラフィックをインポートできます。
- 描画ライブラリはそれほど豊富ではなく、見栄えもよくありません。
- マウス/タッチイベントについてはわかりません。
だから、私はすぐにこれを行う方法を考え出す必要があります。現在、私は Canvas と優れたライブラリに傾倒しています。それらのいくつかは、とにかくスケーラビリティのために SVG をインポートできると信じているからです。
どの方向に進むべきかについてのアドバイスは大歓迎です。