曲名 | スコア | 記録 | 曲名 | スコア | 記録 | |||||
---|---|---|---|---|---|---|---|---|---|---|
天使の歌う小夜曲 | 67860 | (98.26%) | 普通 | 69063 | 大事な宝石 | 82627 | (97.65%) | 普通 | 84613 | |
羽根のブランケットにつつまれて | 63776 | (100.00%) | 普通 | 63776 | 小さなオルゴール | 95040 | (95.18%) | 普通 | 99852 | |
リセエンヌ | 54680 | (93.49%) | 普通 | 58489 | Little wing | 89791 | (92.81%) | 一発 | 96742 | |
Aozora Melody | 150586 | (99.21%) | 普通 | 151789 | らぶりーすまいる | 186706 | (94.98%) | 普通 | 195577 |
リセ→LW→宝石。
とりあえずフォルテールスコア8.1の暫定的作成に着手。一応VisualStudio2013でプロジェクトを開いてWindows8.1用にリターゲットして変更されたAPIの部分だけで8.1用アプリにはなるのですが。
修正しないとクラッシュする点としては、ListViewやGridViewでインデックスから中身を得るときに、以前は
ListView.ItemContainerGenerator->ContainerFromIndex(index)
としなければならなかったのが、8.1では直接
ListView.ContainerFromIndex(index)
でOKになってます。逆にItemContainerGeneratorはnullptrを返すようなので削らないと落ちます。
あとは非推奨になった部分の修正。簡単なのはStreamSocketでSSL通信する時にSocketProtectionLevel::SslをSocketProtectionLevel::Tls10に変更。他は何も変えないで大丈夫でした。まぁ8.1ではようやく普通にHTTP通信するAPIが出来たっぽいので頑張って作った通信モジュールは不要になったのですが(^^;;;)
それからさまざまな画面サイズへの対応。とりあえず横幅の最小値は320pxにしておきます。
ApplicationViewStateは非推奨になったのでSizeChangedイベントハンドラで画面サイズの変更を検知して(アプリ起動時の初期化も共通でOKのはず)手動で切り替えるように変更。ひとまず1000px以上、760px以上、500px以上、320px以上の4段階で切り替えることにしてみました。XamlからはViewStateを全部削除して、LayoutAwarePage.cpp/hからも警告が出る所を全部コメントアウトで対応。将来的にはLayoutAwarePage自体を使わないようにするべきでしょうけど。
独自入力ペインはまるごとViewBoxに入れて500pxまでは横幅だけ縮小、500pxを下回ったら左の方は無くすという処置に。
アプリバーのボタンは狭くすると表示しきれないのでクリップボードにコピーのボタンは削除し、クリップボードへのコピーも保存ボタンから行うように変更してみました。
WebViewのLoadCompletedイベントハンドラはNavigationCompletedに変更。パラメータのIsSuccessがtrueであることをチェックしてLoadCompletedとNavigationFailedをまとめて処理できるようです。
ただ、イベントハンドラがTypedEventHandlerというテンプレート関数になっていたのでちょっと苦戦。処理内容をラムダ式で書くときは
webView->NavigationCompleted+=ref new Windows::Foundation::TypedEventHandler([this](Windows::UI::Xaml::Controls::WebView^ sender,Windows::UI::Xaml::Controls::WebViewNavigationCompletedEventArgs^ args){処理内容});
というのが正解。これはTwitterの認証のところで使ってるのですが、そのうちPIN方式に切り替えるので多分使わなくなる…かなぁ。
とりあえずフォルテールスコア8.1の暫定的作成に着手。一応VisualStudio2013でプロジェクトを開いてWindows8.1用にリターゲットして変更されたAPIの部分だけで8.1用アプリにはなるのですが。
修正しないとクラッシュする点としては、ListViewやGridViewでインデックスから中身を得るときに、以前は
ListView.ItemContainerGenerator->ContainerFromIndex(index)
としなければならなかったのが、8.1では直接
ListView.ContainerFromIndex(index)
でOKになってます。逆にItemContainerGeneratorはnullptrを返すようなので削らないと落ちます。
あとは非推奨になった部分の修正。簡単なのはStreamSocketでSSL通信する時にSocketProtectionLevel::SslをSocketProtectionLevel::Tls10に変更。他は何も変えないで大丈夫でした。まぁ8.1ではようやく普通にHTTP通信するAPIが出来たっぽいので頑張って作った通信モジュールは不要になったのですが(^^;;;)
それからさまざまな画面サイズへの対応。とりあえず横幅の最小値は320pxにしておきます。
ApplicationViewStateは非推奨になったのでSizeChangedイベントハンドラで画面サイズの変更を検知して(アプリ起動時の初期化も共通でOKのはず)手動で切り替えるように変更。ひとまず1000px以上、760px以上、500px以上、320px以上の4段階で切り替えることにしてみました。XamlからはViewStateを全部削除して、LayoutAwarePage.cpp/hからも警告が出る所を全部コメントアウトで対応。将来的にはLayoutAwarePage自体を使わないようにするべきでしょうけど。
独自入力ペインはまるごとViewBoxに入れて500pxまでは横幅だけ縮小、500pxを下回ったら左の方は無くすという処置に。
アプリバーのボタンは狭くすると表示しきれないのでクリップボードにコピーのボタンは削除し、クリップボードへのコピーも保存ボタンから行うように変更してみました。
WebViewのLoadCompletedイベントハンドラはNavigationCompletedに変更。パラメータのIsSuccessがtrueであることをチェックしてLoadCompletedとNavigationFailedをまとめて処理できるようです。
ただ、イベントハンドラがTypedEventHandlerというテンプレート関数になっていたのでちょっと苦戦。処理内容をラムダ式で書くときは
webView->NavigationCompleted+=ref new Windows::Foundation::TypedEventHandler
というのが正解。これはTwitterの認証のところで使ってるのですが、そのうちPIN方式に切り替えるので多分使わなくなる…かなぁ。
この記事へのトラックバックURL: https://www.asmusic.jp/ASHARD/score/tb.cgi/yu-oishi/20131019手動トラックバック