質問

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

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

しかし、グラフィックに関する限り、どこから始めればいいのかさえ知りません。これまでのところ、私はC#のWindowsフォームとコンソールアプリに自分自身をさらしただけです。

これらのフラッシュ概念がC#で同様の類似体を持っているのか、それとも手順と構文が根本的に異なるのか疑問に思っています。

  • グラフィック要素をステージに配置します
  • 開始/終了座標からのラインをレンダリングします
  • 映画クリップのイベントリスナー
  • グラフィック要素内で画像を交換します(または、フラッシュバージョンでは、ムービークリップでnextframe())
役に立ちましたか?

解決

Silverlightを使用して小さなゲームを開発してみてください。 C#とXAMLを使用してコード化されたSilverlightアプリケーションは、Flashアプリケーションでフォームがかなり似ており、問題なく必要なものをすべて見つける必要があります。

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

他のヒント

まず、ActionScriptはC#です。

WPF/Silverlightモデルは、フラッシュするためのFlexにはるかに似ています。すべてがオブジェクトとしてUIツリーに追加されます。

同様に、コントロール(ボタンクリックなど)にイベントハンドラーを追加することは、「背後のコード」(ビューに存在するコード)で実行できますが、推奨はMVVMパターンを使用することです。懸念の分離と単体テストの概念に慣れていない場合は、よりシンプルな「背後の」メソッドから自由に始めてください。

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

あなたが言ったように、画像を交換すると、Silverlightの「視覚状態」を介して行われます(または、より「ハッキー」である画像参照を変更する可能性があります)。

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

ゲームなどを行うために特別に探している場合は、無料のXNAフレームワークを調べたい場合があります。ただし、Flashが事前に物事を「セットアップ」して変更する能力がはるかに多くなるため、違いがあります。

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

    XNAルートに行くと、スプライトバッチを使用してスプライトを描き、どこでどのように描くかを教えてくれます。

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

    Windowsフォームでは、簡単なシステムを介してこれを行うことができます。ドローリングコールですが、XNAでこれを行う場合は、1ピクセルの正方形を作成し、必要なものにストレッチ/回転するか、3Dプリミティブを使用する必要があります(これにより、1ピクセルのラインに制限されます)

  • 映画クリップのイベントリスナー

    代表者を調べてくださいが、私の知る限りの映画クリップに相当するものはありません

  • グラフィック要素内で画像を交換します(または、フラッシュバージョンでは、ムービークリップでnextframe())

    これは、あなたの意味に応じて、かなり簡単です。たとえば、スプライトをアニメーション化したい場合。これを行うには、ソース長方形を移動したり、スプライトシートのテクスチャを変更したりできます。画面全体を意味する場合、SpriteBatchを使用する場合、これはほとんど処理されます。 Windowsフォームでは、自分でもっとやらなければなりませんが、ベースの概念は同じです。

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

幸運とこれが役立つことを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top