2

私の目標は、C#の特性をよりよく理解し、シンプルなアプリの作成をより快適にすることです。私はFlash(Actionscript 3)にかなり精通しており、自分が書いた古いTic-Tac-Toeゲームを見つけました。このコードをC#アプリケーションに移植することについて考え始めました。C#についてあまり知らないので、移行はどれほど難しいのだろうかと思います。

一方では、基礎となるゲームロジックは構文的に類似しているため、移植が容易です。

しかし、グラフィックスに関しては、どこから始めればいいのかさえわかりません。これまでのところ、C#のWindowsフォームとコンソールアプリにしか触れていません。

これらのFlashの概念がC#で類似したものを持っているのか、それとも手順と構文が根本的に異なるのか疑問に思います。

  • グラフィック要素をステージに配置する
  • 開始/終了座標からのラインのレンダリング
  • ムービークリップのイベントリスナー
  • グラフィック要素内の画像を入れ替える(または、私のFlashバージョンでは、ムービークリップのnextFrame())
4

3 に答える 3

4

Silverlightを使用して小さなゲームを開発してみてください。C#とXamlを使用してコード化されたSilverlightアプリケーションは、フラッシュアプ​​リケーションと形式が非常に似ており、必要なものすべてを問題なく見つけることができます。

したがって、Silverlight SDK(無料)をダウンロードして試してみることをお勧めします。

于 2011-01-07T16:22:41.523 に答える
0

まず、ActionScriptがC#に対応しているのと同様に、FlashはWPFに対応しています(十分に近い)。

WPF / Silverlightモデルは、FlashよりもFlexに非常に似ています。行も含めて、すべてがオブジェクトとしてUIツリーに追加されます。

同様に、コントロールへのイベントハンドラーの追加(ボタンクリックなど)は、「コードビハインド」(ビューとともに存在するコード)で実行できますが、MVVMパターンを使用することをお勧めします。関心の分離と単体テストの概念に慣れていない場合は、より単純な「コードビハインド」方式から始めてください。

WPFとSilverlightは非常に似ていますが、SDKと利用可能なサンプルが豊富であるため、Silverlightから始めることをお勧めします。後で簡単にWPFに移行できます(ただし、SilverlightからWPFへのアプリケーションの移植は自動ではありません)。

あなたが言ったように、画像の交換は、Silverlightの「ビジュアルステート」を介して行われます(または、より「ハッキー」な画像参照を変更する可能性があります)。

開始するには、次のリンクをご覧ください。

于 2011-01-07T16:31:57.253 に答える
0

特にゲームなどを行う場合は、無料のXNAフレームワークを調べることをお勧めします。ただし、Flashを使用すると、事前に設定して変更する機能がはるかに多くなるため、違いがあります。

  • グラフィック要素をステージに配置する

    XNAルートに行く場合は、スプライトバッチを使用してスプライトを描画し、どこにどのように描画するかを指示します。

  • 開始/終了座標からのラインのレンダリング

    Windowsフォームでは、単純なSystem.Drawing呼び出しを介してこれを行うことができますが、XNAでこれを行う場合は、1ピクセルの正方形を作成して希望どおりにストレッチ/回転するか、3Dプリミティブを使用する必要があります(これにより、1ピクセルの線に制限されますが)

  • ムービークリップのイベントリスナー

    代表者を調べますが、私の知る限り、ムービークリップに相当するものは実際にはありません。

  • グラフィック要素内の画像を入れ替える(または、私のFlashバージョンでは、ムービークリップのnextFrame())

    意味にもよりますが、これはかなり簡単です。たとえば、スプライトをアニメートしたい場合。これを行うには、ソースの長方形を移動するか、スプライトシートのテクスチャを変更します。画面全体を意味する場合、これはほとんどの場合、スプライトバッチを使用する場合に処理されます。Windowsフォームでは、より多くのことを自分で行う必要がありますが、基本的な概念は同じです。

全体的にはそれほど悪くはありませんが、それが魅力的に聞こえない場合は、Silverlightをチェックしてください。基本的にはC#スタイルのフラッシュなので、移行が簡単になります。

幸運を祈ります。これがお役に立てば幸いです。

于 2011-01-07T16:32:37.603 に答える