日記ブログ、または雑多なメモ
快感チェンジ単行本発売
広告


 カードゲーム用のイラストアップ完了。 …直しがなければだが。
快感チェンジの絵コンテをそろそろ始めないと危ない。 そういえば、もうちょっとページがたまったら快感チェンジ、コミック化するかもしれないぞ。 しないかもしれないぞ。 されるといいけど!紙媒体で出たらようやく漫画家になったなぁ、と思えるかもしれない。 皆さん気に入っていただいたら、応援よろしくね……ってここで書いてもあまり誰にも読まれてないかもしれない。

 一般紙の話の方はまずはコンペに向けて原作を練りつつ、じっくりキャラ作りましょうか、という感じで、あわてていついつまでに描いてください!!とかいうことでもないっぽいのでプレッシャーは減った。 キャラデザにかかってるなー。 いけてるキャラクター創造はあまり得意ではないが、気分を乗せていけばなんとかいけるかもしれず。

 昨年中古で買ったintuos3の一番でかいやつ。 ようやく慣れてきて、やはりちっこいよりはデカイほうがいいと認識した。 で、そろそろ頃合いかと買った時からちょっとハゲハゲだったシートを買い替えてみたのだが、標準シートのつるつるのやつがすでに発売中止でちょっと焦りつつも仕方なくマットシートの方を買った。
 ……うーん、まあ、悪くはない。 が、ペン先があっという間に減るな。 別に紙の質感を追求してくれたりしなくていいのに。 明らかにサプライで儲けようとしてるなぁ~と思うが、お世話になってるので仕方なくはある。



 トップページ埋め込みギャラリー。 なぜかIEだけ、スライドをクリックしても自前onclickラッパーがイベントのフックができてなくて、fancyboxが起動しないことに今さら気づいた。 ずーーっと遡って原因を追求した結果、swiperのスライドコンテナーの div内だけclick以外のmousedownやらmouseupのイベントが発生しない、IEだけ。 症状が微妙すぎる上に全部のブラウザがそうなるとかなら調べようもあるが、これはさすがに難しそうだな……と一晩放置。
 で、原稿アップしてからswiperにクリック関係のAPIがあったのを思い出してちょっといじってみたら、ラッパー無しであっさり実装できた。 まあ、その辺りのAPIの動きでイベント発生に制約があったんだろけど……なんでIEだけ?

var swiper = new Swiper('.swiper-container', {
  slidesPerView: 'auto',
  onTouchEnd: function(){
    $(document).unbind('click.fb-start');
  },
  onSlideClick: function () {
    $(".swiper-wrapper").on("click",displayFB);
  }
});

displayFB = function (evt) {
  var e = swiper.clickedSlide;
  var rel = e.childNodes[0].getAttribute('rel');
  $(".swiper-wrapper").fancybox({'href':rel,
                          'closeSpeed':10,
                          'openSpeed':170
  }).unbind('click');
  evt.preventDefault();
}


 たったこれだけで実装できた。 超スッキリ。 もっと早く気づけ。
例のごとく、ドラッグ/スワイプを無視してクリックする度にfancybox起動しちゃう症候群にちょっと悩まされたが、赤字の部分で解決。
 ちなみにswiperのclickコールバック自体は、内部的にちゃんとクリックとスワイプ/ドラッグとを判別したものが返ってくる。

 最初はてっきり、ドキュメント読み込み完了後に追加した元々存在しないエレメントにイベントをバインドできない問題かと思ったが、 chromeとseamonkeyとiOSでは動いてたしなぁ。 まぁ、その辺りを調べてたお陰でjqueryの「on」の存在を知ったわけで結果オーライか。 「on」は「jQuery 1.7 で、bind() live() delegate() がすべて on() に統合された」とかいう慌ただしい部分なので、いつのまにかまた仕様が変わっちゃったりしそうではある。


- C'sGallery Blogっぽく見えるシステム3.2 -
小武 (管理人) eta2@tim.hi-ho.ne.jp