線状のLEDをぐるぐる回して,球体ディスプレイを作ってるみたい.
モーターがひもに引っ張られて,3D空間の当たり判定と動機してる.
これ面白かったなぁ.
めっちゃ精度がいいらしいKINECT
フォグ3Dディスプレイ.
これが意外と3Dに見えてよかった.
タッチしたら,中のオブジェクトが2つのタッチパネルで動機されて動く
プレゼンを促すツール.
音声認識で3Dキャラクタがうなずいてくれる.
さらにKINECTで指示が出来る.
伊勢さんのWindows Phone 7 のはてなフォトライフビューワを作る (前編):http://d.hatena.ne.jp/iseebi/20110306/p1の続きです.
タイル風にレイアウトしてみました。
でもって、横向きにも対応しました。
あと、ページ遷移時にはタイトルを表示して、伊勢さんの画像の比率がおかしいのを直したあと、拡大とドラッグにも対応しました。
伊勢さんがプロジェクトファイルを公開しているので、あたしも公開しておきますね。
xapデプロイしたらコメントとか付けてもらえると嬉しいです。
http://c-mitsuba.com/contents/FotolifeView.zip
次からだらだらとこのへんの実装の方法を書きます。
この記事はポイントポイントにばらして書いていこうと思います。
まずは、画面遷移後のページにタイトルを表示しましょう。
伊勢さんの画面遷移の所のコードを書き足します。
MainPage.xaml.cs
>>Before
void photoListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { HatenaFotolifeRssItem item = (HatenaFotolifeRssItem)e.AddedItems[0]; NavigationService.Navigate(new Uri(string.Format("/ImagePage.xaml?image={0}", item.ImageUrl), UriKind.Relative)); } }
>>After
void photoListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { HatenaFotolifeRssItem item = (HatenaFotolifeRssItem)e.AddedItems[0]; NavigationService.Navigate(new Uri(string.Format("/ImagePage.xaml?image={0}&title={1}", item.ImageUrl, item.Title), UriKind.Relative)); } }
追記した所は、URLでGETで投げてる所に、item.Titleを増やしただけです。
次に遷移先で受け取って、page nameを書き換えましょう。
ImagePage.xaml.csを書き換えます。
>>Before
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { if (NavigationContext.QueryString.ContainsKey("image")) { image.Source = new BitmapImage(new Uri(NavigationContext.QueryString["image"])); } }
>>After
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { if (NavigationContext.QueryString.ContainsKey("image")) { image.Source = new BitmapImage(new Uri(NavigationContext.QueryString["image"])); PageTitle.Text = NavigationContext.QueryString["title"]; } }
titleキーのQueryStringをPageTitle.Textに投げてるだけです。
簡単ですねっ!