質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Q&A

解決済

2回答

2423閲覧

windowsストア向けゲーム UIのフリーズについて

dylan

総合スコア26

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

0グッド

0クリップ

投稿2015/03/11 11:58

編集2015/03/14 11:21

C#+Xamlでwindowsストア向けのゲームを開発しています。
デバッグ中突然ゲームがフリーズしてしまいます(アプリバーも開けず、キャラクターも動かない状態)
どうしたら良いでしょうかC#+XAMLでの解決方法を初心者にも分かりやすくお願いします。
追記
・ゲームの更新はDispatcherTimerの変数を用意し、そのイベントハンドラ内に記述
・キャラクターはImageコントロールを複数配置し、ビハインド側から動かしている。
・クリア、ゲームオーバー等のメッセージ表示(TextBlock)のためDispatcherTimerを用意し、
1秒間メッセージを表示
・ゲームオーバー時にアプリバーを自動的に開く
・キャラクター、メッセージの描画、非描画はVisibltyプロパティをビハインド側から変更している
・パフォーマンスと診断ツールでUIの応答性を調べてみるとビジュアルスループットが60FPSで安定しない
・タッチ入力でキャラクターを変化させているのですが、入力が多いとき(マルチタッチ連打などのとき)にフリーズ
やはり、C#+Xamlでゲームを作るにも限界があるのでしょうか、改めてどなたか解決策をお願いします(自分的には簡単な2Dゲームだと思っております)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

回答ありがとうございました。
当たり判定の平方根の計算が問題でした。
無事直りました。

投稿2015/03/15 10:52

dylan

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

フリーズの要因は、たいてい永久ループです。
連打が多いとフリーズという事ですので、まずはタッチイベント内で処理しているフラグ等の状態を監視してみたりしてはいかがでしょう。
後は、どの程度の枚数か分かりませんが、1キャラに1Imageというのはそれなりにメモリを食うので、GCが走らないうちにキャラクター変化に伴ってどんどんメモリを消費していくと、フレームワーク内部で何かしら落ちて応答が無くなっている可能性もあります。

投稿2015/03/15 02:46

terushu

総合スコア358

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問