Tags

閉じる

Category

閉じる

Search

Search

閉じる

( ・ω・)⊃ えど の記事

光から移動まで、すべてCSSで作る光るアニメーション

光から移動まで、すべてCSSで作る光るアニメーション

 

ゲーム型キャンペーンサイト「URBAN RESEARCH Christmas 2011」

意匠部ME課あらため、HTMLファイ部所属となった比留間です。

今回は、先日リリースした「アーバンリサーチ」のキャンペーンで
「アーバンサンタ」からのプレゼント、というサイト制作に携わりました。

簡単にキャンペーンの概要を説明すると、Webとアーバンリサーチの店舗が連動して先着でクリスマス限定のキャンドルをもらえるというキャンペーンです。
内容はサイト内に隠されたプレゼントボックスを見つけ出して、それをアーバンサンタにおねだりする、
というとてもシンプルなゲーム型キャンペーンサイトになっています。
さらに抽選でおねだりした商品がもらえるので、ぜひぜひ参加してみてください。

さて、今回この記事でご紹介したいのは、
このキャンペーンサイトで使用した「CSSで作る光のアニメーション」の作り方を
簡単に説明したいと思います。

これを追加したことによって、だいぶ雰囲気が出ました。(アーバンリサーチのゲームページで雰囲気を確認
HTMLファイ部ということで、HTML5関連技術であるCSS3をメインに使用したものとなっています。
jsdo.itにもサンプルコードが載っているので、自分で色々といじってみたい方は以下のサンプルコードをForkしてみてください。

ホタルっぽい雰囲気の演出をCSSだけで作る - jsdo.it - share JavaScript, HTML5 and CSS

ホタル風オブジェクトのベースを作る

ということで、早速作り方に入って行きます。
まず、ホタル風オブジェクトのベースとなるオブジェクトを作ります。
今回のサンプルではdiv要素ひとつに、CSS3で色々とスタイルを当てていきます。

実際に使ったコードは以下。

	.fireflyDot {
        width: 4px;
        height: 4px;
        background-color: rgba(255, 241, 202, 0.8);
        border-radius: 2px;
        box-shadow: 0 0 5px rgba(255, 241, 202, 0.8), 0 0 8px rgba(255, 241, 202, 0.8), 0 0 15px rgba(255, 241, 202, 0.9);
    }
    

見てもらうとわかりますが、数種類のプロパティだけで実現しているのがわかります。
これを適用したものが↓
firefly.png

ベンダープレフィクス(-webkitとか)とCSS3の細かな説明は省きますが、widthとheightでサイズを、border-radiusで丸みを、そしてbox-shadowでふんわり光る光彩を演出しています。

実際のホタル風オブジェクトの生成などについてはJavaScriptで対応していますが、サイズや光加減などをすべてCSSで実現しているので、サイズや色味を自由に変更できるのが強みです。

ホタル風オブジェクトを動かす

上記のCSSを適用することでホタル風オブジェクトが表現できました。
しかし、ただ配置しただけではただのぼやけた丸ですね。
なので動きを加えてみましょう。
そしてその動きの部分もCSSで対応します。

使用している主なプロパティは以下。

	opacity: 0;
        transition-property: transform, opacity;
        transition-duration: 2.5s;
        transition-timing-function: ease-out;
    

これだけです。
動きの実装で重要なのはtransitionプロパティだけ、ということになります。(移動の際の位置指定はJavaScript側で自動生成しているため)
このtransitionプロパティ、設定しておくとtransition-propertyプロパティで指定したプロパティの値(サンプルではtransform、opacity)に変化があった際、トランジション(遷移)を伴って変化を表現する、というものです。

つまり、サンプルで指定している「transform」と「opacity」の変化を監視させることで、その値が変更された際に、それをアニメーションで表示する、というものになります。
そしてJavaScriptで移動後の位置を動的に決定し、それを指定してあげれば、あとはCSSが勝手にアニメーションをつけてくれる、というわけです。
これだけで、移動と同時に透明度も1→0と変化するためホタルが光ってふんわりと消えながら移動する、というような演出が完成します。

もちろん、こうした処理はCSS3のtransitionやtransformに対応していないと動作しませんが、jQueryを使えばこれと似たような処理を実現することは可能です。(animateメソッド)

iPhone / Android対応

今回の実装のいいところとしては、CSSで表現しているためスマートフォンでも表示可能なこと、とりわけiPhone/iPadではとてもスムーズにアニメーションが実行される点です。

Mobile Safariでは、指定方法によってはCSSによるアニメーションはGPUを利用してレンダリングされるためPCと同じようになめらかに表示される、という特性があります。

もしスマートフォンをお持ちの方は、ぜひキャンペーンサイトをスマートフォンでも見てみてください。
PCとほぼ同じ感じで表示されるのが分かるかと思います。
もちろん、ゲームもプレイできるので、スマートフォンからも楽しめるコンテンツとなっています。

今回の主題は「モバイルを攻略せよ」

先週の土曜日(6/11)に、Adobeが主催する、ADC MEETUP ROUND01に登壇してきました。

主題は「モバイルを攻略せよ」ということで、DreamweaverやFlashなどを使って、スマートフォンアプリやサイトの制作についての話に焦点が当てられました。

今回自分が話した内容は、「ネイティブアプリに変わる、新しいアプリ開発スタイル」というタイトルで、今まのでアプリ開発(言語)から、HTML5+JavaScriptを使った開発へのシフトする可能性、それらを実現するフレームワークや注意すべき点などを発表させて頂きました。

プレゼン資料もHTML

プレゼン資料もHTML5です! と言えればいいのですが、実際はHTML5の要素はほとんど使っていませんw あえて言うならCSS3でしょうか。(HTML5ではないですが)

なので、土曜日のセッションで使用した資料は、jsdo.it上ですでに公開されています。よかったら見てみてください。(※WebKitに最適化されています。また、最近のVersionUpでGoogle Chromeでの閲覧がなんだかおかしなことになってるので、Safariで見てもらえると幸せになれます)

「ADC MEETUP ROUND01 - ネイティブアプリに変わる、新しいアプリ開発スタイル」の資料はこちら

jQuery Mobileに触ってみよう

さて、資料をみていただくと分かりますが、その中身の大半は「jQuery Mobile」の話です。Dreamweaver CS5.5がサポートしたことによって、そのシェアはかなりのものになると予想しています。

もともと、jQuery自体のシェア率がとても高いので、親和性が高いことも上げられます。また、jQueryの使いやすさと同じように、jQuery Mobileもとても使いやすいものとなっています。

極端に言えば、jQueryとjQuery Mobile、jQuery Mobileで使用するCSSを読み込み、あとは作法に則ってマークアップするだけで、まるでアプリのような外観と機能を持ったサイトが作れてしまいます。

そんなお手軽なjQuery Mobileを、手軽に触ってみよう、ということで、jsdo.itでは今、イベントを行っています。その名も「jQuery Mobileを触りながら覚えよう!」です。

ちなみに実際に作ってみたデモは↓こんな感じです。

jQuery Mobileデモ1 - jsdo.it - share JavaScript, HTML5 and CSS

テストするためにゴミファイルもでないし、アカウントさえ持っていれば、ボタンを押すだけで基本的な要素(JSの読み込みとかHTMLのベースとか)が含まれた状態でコーディングを開始できるので、ちょっと触ってみたいなーと思っている人には最適なイベントになっています。ぜひぜひ、試してみてください。そして、jQuery Mobileのすごさを体感してみてください。

HTML5の可能性を示すコンテスト

ども、久々に投稿になります。ME課の比留間です。
さて、先日開催された「第0回 HTML5プログラミング&クリエイティブ コンテスト」に作品を応募してみました。

結論から先に言ってしまうと、残念ながら賞をいただくことはできませんでした。
しかし、先日開催されたデブサミ2011のブースで、HTML5関連として自分の作品を展示していただくことができました。(コンテストのリンク先では「デブサミ2011でのブース展示に使わせていただいた作品」という項目に掲載されています)

自分は当日は参加することができなかったので、どういった形で展示されたのかはわからないのですが・・。ちなみに実際に展示された作品は下にある、canvasで描かれたシューティングゲームです。(※音が鳴るので注意)

実際に展示された作品

Meteorite Shooting Games - jsdo.it - share JavaScript, HTML5 and CSS

昨今のHTML5ブームで、今後ますますJavaScriptの需要と重要性は増して行くことは間違いないでしょう。
きたるHTML5時代に向けて、今からJSを学んでおくことは間違っていません。

そんな中、最近自分がはまっているサイトが「jsdo.it」です。
(まぁ弊社で運営しているサービスなので宣伝みたいですが、実際に自分のアカウントの投稿一覧を見てもらうと、かなり投稿してますw)

最近では、JS関係の質問を、コードプレビュー付きで投稿できるQ&Aコンテンツも出来たので、なかなか検索で目的の情報が見つからないときに質問してみてはどうでしょうか。
自分が作成した作品のバックアップにもなるので、これからJavaScriptを勉強しよう、という人はぜひぜひjsdo.itを使ってみてくださいね!

HTML5の可能性を示すコンテスト

ども、久々に投稿になります。ME課の比留間です。
さて、先日開催された「第0回 HTML5プログラミング&クリエイティブ コンテスト」に作品を応募してみました。

結論から先に言ってしまうと、残念ながら賞をいただくことはできませんでした。
しかし、先日開催されたデブサミ2011のブースで、HTML5関連として自分の作品を展示していただくことができました。(コンテストのリンク先では「デブサミ2011でのブース展示に使わせていただいた作品」という項目に掲載されています)

自分は当日は参加することができなかったので、どういった形で展示されたのかはわからないのですが・・。ちなみに実際に展示された作品は下にある、canvasで描かれたシューティングゲームです。(※音が鳴るので注意)

実際に展示された作品

Meteorite Shooting Games - jsdo.it - share JavaScript, HTML5 and CSS

jsdo.itを使って手軽にJavaScriptを学ぼう!

iOS4.2からSafariで加速度センサーを使うことができるようになりました。

モンハンの予約を逃していつ買えるのかとヤキモキしているME課の比留間です、こんにちわ。

さて、つい先日アップデートされたiOS4.2。このアップデートでMobile Safariから加速度センサーをJavaScript経由で利用することができるようになりました。使い方は簡単で、以下のようにするだけで加速度の値を取得することができます。

続きを読む

iPhoneサイト制作で役に立つXAMPP設定のコツ

最近Macを手に入れてホクホクのME課 比留間です。こんにちわ。

 

さて、みなさんはiPhone制作をするときどのようにしていますか?
通常のPCサイトであれば、普通に相対パスで画像やらCSSやらを指定してローカルで確認したり、
あるいはローカルにwebサーバを立てて制作したりしますよね。

でも、それがiPhoneとなるとなかなかそうは行きません。
都度、テストサイトにアップしてそれを見て・・というのも手ですが、
場合によってはテストサイトに反映されるまで時間がかかったり、
あるいはネットワーク的に見れなかったり、などなどめんどくさいことが結構あったりします。

そこで今回紹介するのは、PC上で動くXAMPPを使用して
iPhoneサイト制作を簡単にするちょっとしたコツを紹介したいと思います。

といっても、知っている人には当たり前の話ではあると思いますが、
サーバはちょっと・・みたいな人はここを読んでコピペでやってみるといいかもしれません。

CSS Nite LP13 Smart Phoneバナー

どもです。ME課の比留間です。

この度、1/22に開催される CSS Nite LP13 「スマートフォン特集」の回に登壇することになりました。

CSS Niteには何度か参加させていただいていましたが、登壇する側というのは初体験であります。
前からぜひ登壇したいな、と思っていたので夢が叶いました!

が! 逆に前からそう思っていたのでそれがプレッシャーにもなっていたり(; ´Д`)

色々と拙いところがあるかとは思いますが、興味がおありの方はぜひぜひ参加してください。ちなみにセッション内容は以下を予定しております。

自分のセッション以外も、スマートフォンに関する情報てんこ盛りなので、スマートフォン関連の制作に興味がある人はとても参考になると思います!

しかも12/10までは早割り期間なので、早めに申し込むと少し安くなります。参加したい方はぜひ今のうちに!

セッション内容

教科書には出てこない!? iPhone のUIトリック表現

iPhone UIの応用編として、視点を変えたトリッキーなUIを紹介します。

現在、さまざまなサイトがiPhone対応を求められていますが「小さな画面で見る」ことを前提に見やすさ、操作性に注力するあまり、どうしても画一的な表現が多くなってしまいます。

そんな中、あえて複雑なUIを実装したり、はたまたネイティブアプリさながらのインタラクションを持ったサイトも出てきています。そうしたトリッキーなUIを考察しながら、実際に制作した実例を元に、こだわった点や苦労した点、実装するにあたっての注意点など、教科書に掲載されない(!?)UI表現についてお話しします。

1要素1クラス、画像を一切使わずCSSで実装するiPhone UI

1要素に1クラスを指定するだけで、画像も使わずさっと作れるiPhone風CSSライブラリを作ってみました。

最近Macがほしくてたまらないえどです。こんにちは。(降ってこないかな・・)

↓実際に動いているデモはこちら(iPhone向けに作っているため、iPhone/Safariでしか最適化されていません)

1要素1クラス、画像を一切使わずにCSSで実装するiPhone UI - jsdo.it - share JavaScript, HTML5 and CSS

ちなみにiPhoneで実際に見るとこんな感じに見えます↓
iPhoneで表示したiPhone風UIのキャプチャ

iPhoneで実際に見るには、以下のURLから見れます↓
(jsdo.itだとviewportが使えないため、ブログ自体にデモをアップしました)
http://goo.gl/s5fV

1要素1クラスで実現する

今回のサンプル作成でこだわったのは、1要素に1クラスを指定することでiPhone風のUIを実現することです。
つまり、以下のように指定するだけでiPhone風ボタンに早変わりする、というような手軽さを意識しました。

a要素をiPhone風ボタンにする

<a href="#" class="btnTypeA">ボタンタイプA</a>

実際に上記を表示すると以下のようにすぐボタンっぽい外観に変わります。↓
灰色のiPhoneボタン風のスタイルになったa要素

iPhone風リストA

<div class="listIPhone listTypeA">
<ul>
<li><a href="#">リストアイテム</a><a href="#" class="btnType-s-A noListLink floatBtn">削除</a></li>
<li><a href="#">リストアイテム</a></li>
<li><a href="#">リストアイテム</a></li>
<li><a href="#">リストアイテム</a></li>
</ul>
<!-- /.listIPhone.listTypeA --></div>

実際に上記を表示すると以下のようにリストスタイルになります。(1要素1クラスを意識していますが、ベースとなるものが同じで、異なる外観の場合は2クラスに分けて複数の見た目を制御できるように実装しています)
iPhone風リストスタイルのキャプチャ
また、「削除ボタン」はややイレギュラーなもののため、いくつかクラスを追加しています。リスト中のa要素は基本、横100%のリンクになってしまいますが、例外的に「noListLink」クラスを追加することで回避しています。
さらに通常時は表示されない要素、ということで、「floatBtn」クラスを付けることで、左は時に表示されるようにしています。

iPhone風リストB

<div class="listIPhone listTypeB">
<ul>
<li><a href="#">リストアイテム</a><a href="#" class="btnType-s-A noListLink floatBtn">削除</a></li>
<li><a href="#">リストアイテム</a></li>
<li><a href="#">リストアイテム</a></li>
<li><a href="#">リストアイテム</a></li>
</ul>
<!-- /.listIPhone.listTypeB --></div>

実際に上記を表示すると以下のようにリストスタイルになります。
iPhone風リスト。リスト右端に丸い矢印マークがあります
もちろん、右端にある青い丸矢印も画像は使っていません。

見出し部分も画像なし

そして今回、ちょっとこだわった部分がタイトル左横にある矢印型のボタンです。
当初はこういう形は画像使わないと無理かなーと思っていたんですが、そこそこ見れるものが作れました。(ただ、やっぱり若干標準のUIと比べると形がいびつです)
ソースもかなりシンプル。

<div class="toolbarBox">
<h1 class="toolbar">CSS3 UIテンプレート</h1>
<nav>
<ul>
<li class="toolBtnTypeA"><a href="#" class="toolBtnArr">TOP</a></li>
<li class="toolBtnTypeB"><a href="#" class="toolBtn">Reload</a></li>
</ul>
</nav>
<!-- /.toolbarBox --></div>

見出し部分のキャプチャ。左横の矢印ボタンもCSSのみで実装

作ってみた感想

意外とがんばればなんとかなるな、というのが感想でした。
標準UI以外にも、これくらいのデザイン性のものであればCSSのみで実現できてしまうので、iPhone4の対応で画像サイズがーという悩みを解消できることを考えると、色々とテンプレートとして作ってみるのも面白いのではないでしょうか。
(もともとは、CSSを使って画像を使わずにデザインを実装する、というのを書こうと思ったのが発端だったので)

ぜひぜひみなさんも色々なデザインを、少数構成で実現できるように挑戦してみてください。

ちなみに今回のサンプルは、個人のブログで公開しているCSS3ジェネレーターでグラデーションを調整しながら作りました。よかったら使ってみてください。→Photoshopライクな操作で手軽に作れるCSS3ジェネレーター

そしてカヤックでは、こんなiPhone風CSS3が大好きなマークアップエンジニアを募集中です!

「DeNA × 面白法人カヤック × クリーク・アンド・リバー社 セミナー」に登壇することになりました。

はじめまして。 このブログで書くのは初めてのME課の比留間(@edo_m18)です。

今回は9/23に開催される「DeNA × 面白法人カヤック × クリーク・アンド・リバー社 セミナー」で、 自分のセッションのプロローグを書きたいと思います。 セッションのタイトルは「もしも、マークアップエンジニアがひとりでWebサイトをつくるとしたら ~HTML5でつくるWebアプリ~」です。

bnr_seminar.gif

話の内容は、最近なにかと目にする「HTML5」について。
その中でも関連API(JavaScript)を使ったwebアプリについて話したいと思っています。
HTML5になることで、今まではサーバを介してしかできなかったこと、そもそもブラウザ上では実現不可能だったことが実現できるようになります。
これを利用して、マークアップエンジニア(だけ)でも作れる、ちょっとしたwebアプリを紹介しながら、HTML5の可能性について話そうと思います。

続きを読む