プレイヤーの一人はリアルタイムで道を作り、もう一人はその上を車で走るというUnityで作られた対戦ゲーム。
もちろん、普通のレースゲームとは異なり、毎回コースは異なるものになります。上手いゲームデザインですね。面白そう!!
Roadeo: A game about a road versus a car | Joystiq
http://www.joystiq.com/2011/11/02/roadeo-a-game-about-a-road-versus-a-car/
プレイヤーの一人はリアルタイムで道を作り、もう一人はその上を車で走るというUnityで作られた対戦ゲーム。
もちろん、普通のレースゲームとは異なり、毎回コースは異なるものになります。上手いゲームデザインですね。面白そう!!
Roadeo: A game about a road versus a car | Joystiq
http://www.joystiq.com/2011/11/02/roadeo-a-game-about-a-road-versus-a-car/
Google Developer Day 2011に参加しました。
参加したセッションのメモを書いときます。
東京 - Google Developer Day 2011
http://www.google.com/intl/ja/events/developerday/2011/tokyo/agenda/session_1003.html
※ここで解説しているものChromeのみ対応しているものが多数、有ります。上手く動作しなかった場合はChromeで試してみて下さい。
【使用例】
CSSでの記述。
<link rel="stylesheet" media="all" href="/static/css/base.min.css" /> <link rel="stylesheet" media="only screen and (max-width: 800px)" href="/static/css/mobile.min.css" />
JavaScriptでの記述。
if (window.matchMedia('only screen and (max-width: 480px)').matches) { // Asynchronously provide experience optimized for phone } else if (window.matchMedia('only screen and (min-width: 481px) and ' + '(max-width: 1024px)').matches) { // Asynchronously provide experience optimized for table or smaller screen } else { // Asynchronously provide full screen experience }
【記述例】
<input type="file" id="dir-select" webkitdirectory />
※【筆者注】現状ではChromeのみ対応している様です。Safariでは通常のファイルアップロードと同じ扱いになりました。
【記述例】
<input type="file" id="dir-select" webkitdirectory />
※【筆者注】自分でも試してみました。利用方法についてこちらを参照下さい。
URLはこちら。 help と入力すると入力可能なコマンドが表示されます。 3d コマンドがお勧め。フォルダ構造が3Dで表示され、 mkdir や rm を実行するとリアルタイムで反映されます。
【記述例】
<input type="text" x-webkit-speech />
以下の様な記述で認識した音声の文字とその信頼度の確認が可能です。
document.getElementById("speech-input-textbox").addEventListener("webkitspeechchange", function(event) { var speechresults = document.getElementById('speech-results'); speechresults.innerHTML = ''; for (var res in event.results) { speechresults.innerHTML += 'Utterance: ' + event.results[res]['utterance'] + '<br />Confidence: ' + event.results[res]['confidence'] + '<br /><br />'; } }, false);
試しに「テスト」としゃべってみたら以下の様な結果になりました。
Utterance: テスト Confidence: 0.5331328 Utterance: てすと Confidence: 0 Utterance: test Confidence: 0 Utterance: undefined Confidence: undefined Utterance: undefined Confidence: undefined
ユーザへの通知を使うにはユーザの許可が必要です。以下の様な確認が表示されるので「許可」選択された場合に使える様になります。
Google Developer Day 2011に参加しました。
参加したセッションのメモを書いときます。
(追記 2012/01/14)
Googleから動画が公開されました。
http://www.youtube.com/watch?v=MY06xnSZyaw:moive
※このセッションで解説された内容に一部変更点があるとのことなので、こちらも合わせて参照下さい。
(追記ここまで)
東京 - Google Developer Day 2011
http://www.google.com/intl/ja/events/developerday/2011/tokyo/agenda/session_1001.html
※【筆者注】オリジンについては以前にこのブログでも解説した事が有ります。
HTMLでオリジン(Origin)とは何を意味しているのか - 強火で進め
http://d.hatena.ne.jp/nakamura001/20110113/1294937964
【記述例】
使用する側のHTMLでの記述
<html manifest="example.appcache">... </html>
mainfestファイルの記述
CACHE MANIFEST # 2010-11-17-v0.0.1 # 明示的にキャッシュされるエントリ CACHE: index.html stylesheet.css images/logo.png # ユーザーがオフラインの場合は static.html が表示される FALLBACK: / /static.html # ユーザーがオンラインの必要があるリソース NETWORK: *
【URLの例】
filesystem:http://example.com/temporary/myfile.png
※【筆者注】FALLBACKは先ほど出てきたmainfestファイルの記述例では以下の部分で指定しています。
# ユーザーがオフラインの場合は static.html が表示される FALLBACK: / /static.html
サーバーと直接通信する代わりに、オンライン時に通信を肩代わりし、変更点をローカルに保存してくれる Worker を用意し、これとやりとりをする。
【記述例】
if (navigator.onLine) { console.log('ONLINE!'); } else { console.log('Connection flaky'); }
【記述例】
window.addEventListener('online', function(e) { // サーバーとデータを再同期 }, false); window.addEventListener('offline', function(e) { // サーバーとのやり取りをキューに追加 }, false);
(2011/11/16 追記)
講演者の北村 英志さんのGoogle+にて以下のコメントが有りました。
ChromeのQuota管理機能について記事を書きました。この内容は #gdd11jp の講演内容と矛盾しています。その辺りは追ってお知らせします
https://plus.google.com/107085977904914121234/posts/ALyGEqdCVE6
(追記ここまで)
Polyfillとは新しいAPIなどの代わりに使用可能なライブラリなどの事。
Using the HTML5 Filesystem API: A True Filesystem for the Browser
オフライン系APIを解説した本。