2011-01-07 12 views
2

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

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

しかし、グラフィックに関する限り、私はどこから始めるべきか分からない。これまでのところ、私はC#のWindowsフォームとコンソールアプリケーションにしか触れていませんでした。

これらのFlashの概念は、C#で同様のアナログを持っている場合、または手順と構文が根本的に異なっている場合、私は思ったんだけど:

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

"actionscript to C#"および/または "Flash to Silverlight"と言う方が適切です。 ActionscriptとC#は言語です。 Flex/FlashとSilverlightはプレゼンテーションフレームワークです。 –

答えて

4

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

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

+1

+1 Silverlightは、FlashデベロッパーのためのC#への良いセグウェイです。 –

+0

WPFでスタンドアロンの実行可能アプリケーションを開発することに興味があります。 Silverlightはその目的のための良い足がかりですか? – Jake

+0

はい、そうです。実際、SilverlightはWPFと非常に似ていますが、より軽い(各クラスのメンバーは少なく、最も有用なものだけです)。 Silverlightでブラウザアプリケーションを作成することもできます。 – Falanwe

0

まず、ActionScriptはC#のようにWPF(close close)になります。

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

同様に、ボタンのクリックのようなコントロールにイベントハンドラを追加することは、コードビハインド(ビューに存在するコード)で実行できますが、MVVMパターンを使用することをお勧めします。懸念と単体テストの分離の概念が初めての方は、簡単な「コードビハインド」メソッドから自由に始めてください。

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

イメージのスワッピングは、前述したように、Silverlightの「ビジュアルステート」で行われます(イメージの参照が変更される可能性もあります)。

は始めるために、次のリンクを見てください:

0

をあなたがゲームや行うために特別に探しているならXNAの無料のフレームワークを調べることができます。しかし、Flashには事前に「設定」して変更する機能がはるかに多いので、違いがあります。あなたはXNAルートを行く場合は、あなたがspritebatchを使用してスプライトを描画します

  • ステージ上でグラフィック要素を配置する、あなたはどこで、どのように描画するためにそれらを教え、彼らが

    を行くところです開始/終了から
  • レンダリング線が勝利で

    座標単純なSystem.Drawing呼び出しでこれを行うことができますが、XNAでこれを行う場合は、1ピクセルの正方形を作成し、望むものにストレッチ/回転させるか、3Dプリミティブを使用する必要があります(ただし、これは、ムービークリップ上

  • イベントリスナーが

    が代表者に見て、私の知識にムービークリップの等価

  • が本当にありません)1つの画素ラインにあなたを制限します
  • グラフィックスの内部でイメージを交換するt(または、私のFlashバージョンでは、ムービークリップのnextFrame())

    これは、あなたが意味するところによってはかなり簡単です。スプライトをアニメートしたいと思うなら、ソース矩形を移動するか、スプライトシートのテクスチャを変更して、これを行うことができます。画面全体を意味する場合は、スプライトバッチを使用することを条件として、ほとんどの場合これが処理されます。 Windowsフォームでは、自分でそれ以上のことをする必要がありますが、基本概念は同じです。

  • 全体的には悪くはないのですが、それはSilverlightをチェックアウトする魅力的鳴らない場合。基本的にはC#スタイルのフラッシュなので、簡単に移行を見つけることができます。

    幸運にもこれは役に立ちます。

    関連する問題