週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ICFPCのvisualiserをjavascript + canvasで再生産してみました。firefox 3.0.10とGoogle Chrome Linux 3.0.190.2で検証。IEは無理です。Safari 4 winとfirefox 3.0は遅くて、Chromeかfirefox 3.5ならまともに動きます。

  • 3003
  • データが大きいのでブラウザクラッシャ注意! 4001

手元に本番提出データがなかったので実験用のデータを適当に使っています。まだtargetが12個あると思っていたときのデータです。

正直重すぎます。軌跡を書くところだけが重いのでここを再利用できると良いのですが。

javascriptなんて殆どまともに書いてないのできっちりと罠にかかりました。

  • context.beginPath(), moveTo, lineTo, closePathまでやってfillを忘れる。
  • closePathの役目はglEndではない。終点と始点とを繋げる。
  • 関数を呼ぶ代わりに関数を渡してしまう。その逆も。
  • javascriptを編集してからリロードをかけると時々firebugが発狂。
  • functionのスコープ。これは知っていたので回避。
    • 別のタブであらためてロードすると大丈夫だったり。
  • 配列をfor in で回ろうとする。
  • onmousedownで渡されるイベントからクリックされた場所を探す方法。
  • onmousedown, onmousemove, onmouseupだけじゃなくてonmouseoutも使うとよい。
  • cssはコピペ。

ネット上にものすごい勢いで情報があるので、調べながらやってもそれほど難しくはありませんでした。スクロールバーなど一部は明らかにやっつけですが。

スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/468-f560c6a1
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。