タグ付けされた質問 「c#」

C#は、Microsoftが.NETプラットフォームと組み合わせて作成した、マルチパラダイムで管理され、強く型付けされ、ガベージコレクションされたプログラミング言語です。

2
継承と構成
私はC#でお金を稼ぎます。一般的には、その言語で、インターフェイスを使用してすべてを高い天国に切り離します。これはエンタープライズコードでは十分に役立ちましたが、C#でゲームを作成する際には、基本クラスのデフォルトの動作を定義できるため、継承に向かう傾向があります。でも、かつて「継承よりも作曲を好む」と言っていた建築神に背を向けているように、私はこれを行うのは汚い気がします。私はそれが白黒ではないことを知っていますが、もう少し作業してインターフェイスを使用して、ほぼ同じことを達成できると感じています。 他の人は何をしますか?継承はゲームに適したアプローチですか、または一部のインターフェイスでリファクタリングする必要がありますか?
16 c#  architecture 

3
シンプルなマップ、4つのバイオーム、およびそれらの配布方法
基本的な考え方は次のとおりです。私は、ランダムに生成されたオーバーワールドといくつかのダンジョンの入り口がその周りに散らばっている、ローグっぽい、おそらくドワーフ要塞のようなゲームを持っています。私はすでに基本的に覆われたダンジョンを持っていますが、私は世界の側面に固執しています。 スクリーンの2Dマップと見なされるこのオーバーワールドには、おそらくそれぞれ独自の合計スクリーン数を持つ4つの異なるテーマまたはバイオーム(草地、砂漠、雪、沼地)のブロブのような分布が必要です。マップが8x8で、64のユニークな画面を提供するとします。それらの半分は草原、4分の1の砂漠、そして沼地と雪はそれぞれ4分の1になります。 パレットの削減により、雪は沼地と同じ色になったようです。もともと、下隅には8つの雪スクリーンがあり、中央にはわずかにずらした8スクリーンの沼地がありました。申し訳ありませんが、ロケーションマーカーは無視してください。 私が手に入れた最高のものは、いくつかの蛇の形でした。そして、雪の中を砂漠で蛇行するような(またはその逆の)無意味な組み合わせで十分であることがよくありました。私の人生では、どのようにすてきでブロビーになるのか、ましてや、それを臨床的な(?)の意味を持たせることはできません。では、モックアップのようなバイオームマップを生成するにはどうすればよいですか? さて、リクエストにより、世界は実際にその例よりもそれほど大きくありません。そして、雪が砂漠に触れないという特別な制限を加えて、テーマの外観を決定するいくつかの塊を広げる方法が必要です。画面はスクロールせず、画面が「砂漠」に設定されている場合、画面上に草はありません。

1
シャドウマップアーティファクト
3D XNAゲームに影を追加してみたい。1つのライトと1つのカメラでテスト環境をセットアップしました。しかし、私は自分のアプローチでアーティファクトに直面しています。 私はhttp://pastebin.com/zXi0hmsUのシェーダーコードを使用して最終結果をレンダリングし、http://pastebin.com/rY4Gcj9Nを使用してシャドウマップを作成しています。コードは非常に単純で、ライトの観点から深度マップを生成し、それをカメラ空間に投影し、オクルージョンをチェックする必要があります。 しかし、ほとんどの角度から私はかなりresultsい結果を得ています シーンは、いくつかの単純なキューブ(手で構成され、外側を向き、背面がカリングされます)、1つのライト(左上隅に表示されるシャドウマップ-大丈夫に見えます)、1つのカメラで構成されます。 シャドウマップのRenderTargetは、以下によって初期化されます int shadowMapSize = 512; RenderTarget2D shadowMap = new RenderTarget2D(GraphicsDevice, shadowMapSize, shadowMapSize, true, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.Depth24Stencil8); GraphicsDevice.SetRenderTarget(shadowMap); GraphicsDevice.Clear(Color.White); GraphicsDevice.DepthStencilState = DepthStencilState.Default; その後、CreateShadowMapエフェクトが適用され、続いてLambertWithShadowsエフェクトが適用されます。最後に、を使用してシャドウマップが描画されSpriteBatchます。 残りのコードは、シェーダーに正しい値を提供するだけで構成されています。必要に応じて、私はそれをうまく提供できます。

4
モデルの特定の部分を色付けする方法-RTSゲームのようにそれらのチームの色がありますか?
RTSゲームで見られるもの、つまりチームカラーを実装する必要があります。基本的に、モデルの特定の部分を色付けする方法を探しています。どうすればこれを達成できますか?どこから始めればいいのかわかりません。最初に3Dモデルを調整する必要がありますか?
16 xna  c# 

9
タワーディフェンスゲームのダイナミックパスアルゴリズム
私はタワーディフェンスを作っていますが、それには良いパスアルゴリズムが必要です。 私はダイクストラについて考えましたが、ダイナミックなものが必要です。1つのエッジが完全に再計算されずに削除または追加されたときに、それ自体を更新できる必要があります。 役立つ場合は、C#でコーディングしています。

6
C#を使用してUnity3Dでシングルクリックとダブルクリックを適切に区別する方法は?
ここで理解し、学習しようとしているのは非常に基本的なことです:C#を使用して、Unityの3つのメインマウスボタンのシングルクリックとダブルクリックを適切に区別する最も一般的で洗練された方法は何ですか? 言葉を適切に強調することは、何の役にも立ちません。このウェブサイトでこれが一度も聞かれたことがないことに驚きましたが、もちろん、UnityのフォーラムやUnityの質問/回答ページで同様の質問を数多く見つけました。ただし、これらのリソースに回答が投稿される場合が多いため、それらはすべて明らかに間違っているか、少なくとも少しアマチュアすぎるように見えました。 説明させてください。提案されたソリューションには、常に2つのアプローチと対応する欠陥のいずれかがありました。 クリックが発生するたびに、最後のクリックからの時間差を計算し、それが所定のしきい値よりも小さい場合、ダブルクリックが検出されます。ただし、このソリューションでは、ダブルクリックが検出される前にクイックシングルクリックが検出されます。これは、シングルクリックアクションとダブルクリックアクションの両方をアクティブにするため、ほとんどの状況で望ましくありません。 大まかな例: float dclick_threshold = 0.25f; double timerdclick = 0; if (Input.GetMouseButtonDown(0) { if (Time.time - timerdclick) > dclick_threshold) { Debug.Log("single click"); //call the SingleClick() function, not shown } else { Debug.Log("double click"); //call the DoubleClick() function, not shown } timerdclick = Time.time; } アクティブ化されるシングルクリックの待機遅延を設定します。つまり、クリックごとに、最後のクリックからの遅延時間が所定のしきい値を超える場合にのみ、シングルクリックアクションをアクティブにします。ただし、シングルクリックが検出される前に待機に気づくことができるため、これは結果が遅くなります。さらに悪いことに、この種のソリューションは、OSレベルでのユーザーのダブルクリック速度設定の速度や速度を考慮していないため、マシン間の不一致に悩まされています。 大まかな例: float …
15 c#  unity  mouse 

1
ウィンドウのサイズ変更/移動中にXNAが更新を一時停止しないようにするにはどうすればよいですか?
XNAは呼び出しUpdateを停止Drawし、ゲームウィンドウがサイズ変更または移動されている間。 どうして?この振る舞いを防ぐ方法はありますか? (ネットワークメッセージがポンプされていないため、ネットワークコードの同期が取れなくなります。)
15 xna  c#  xna-4.0  win32 

6
パス(座標のリスト)を歩いているときにキャラクターを滑らかにする方法は?
座標(A *アルゴリズムからの出力)のリストがあり、キャラクターが回転しながらこのパスをスムーズにたどるようにしたいと思います。 だから私はAのようなものを持っており、Cを取得したい これどうやってするの ? 編集 自分をもう少し明確にするために: あるノードから別のノードへの移動方法を既に知っているので、スムーズな方向転換にもっと興味があります。 編集 多くの人々は、この(私も)私は彼がゲームAI(物理学)の多くを論じダニエル・シフマンの「コードの自然」へのリンクを掲載しています便利な問題例えばステアリング行動見つけたようhttp://natureofcode.com/book/chapter- 6-自律エージェント/#chapter06_section8
15 c#  unity  path-finding 

9
XNAの学習についてはどうすればよいですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 XNAでゲームを作成する方法を学びたいのですが、どこから始めればいいのかわかりません!誰かが私に必要なソフトウェアの断片と、見るべき良い本やチュートリアルを教えてくれたら、それが最も役立つでしょう。 私の現在のコーディングの知識に関しては、Javascript(HTML5キャンバスと組み合わせて)のいくつかの良い経験があります。XNAでコーディングするためにC#も学習する必要があると確信しているので、そのことを覚えておいてください。
15 xna  c# 

2
ボクセルエンジンに照明を実装するにはどうすればよいですか?
テレインエンジンのようなMCを作成していますが、照明を使うと見栄えがずっと良くなると考えています。ページで。 これまでのところ、Minecraftの「ブロック」照明を実装したいと思います。そこで、VertexFormatを作成しました。 struct VertexPositionTextureLight { Vector3 position; Vector2 textureCoordinates; float light; public readonly static VertexDeclaration VertexDeclaration = new VertexDeclaration ( new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 0), new VertexElement(sizeof(float) * 3, VertexElementFormat.Vector2, VertexElementUsage.TextureCoordinate, 0), new VertexElement(sizeof(float) * 5, VertexElementFormat.Single, VertexElementUsage.TextureCoordinate, 1) ); public VertexPositionTextureLight(Vector3 position, Vector3 normal, Vector2 textureCoordinate, float light) { …
15 c#  xna  lighting  raycasting 

1
XNA用の3Dマップを作成しますか?
誰もがエンジンなしでXNAを使用して、3Dマップチュートリアル(マップをインポートして使用する方法)を知っていますか? ここで検索を実行しましたが、2DのみのXNA 3Dマップに関するものは見つかりませんでした。 PS:できれば無料でオンラインで読むことができる資料を探しています。 Ricketが貢献した以外の、この主題に関連する他のコンテンツを知ることに非常に興味があります。 宜しくお願いします。
15 3d  xna  c#  maps 

3
ゲーム内の攻撃および攻撃タイプのプログラミング設計に関する洞察を探しています
そのため、2DスペースRTSに攻撃を導入し始めています(これはUnityに含まれているため、コンポーネント駆動型です)。当初は、「範囲内の敵、ダメージが与えられた」という単純なものでした。ただし、特定の船または構造物に関連付けられた複数の「タイプ」の武器/攻撃があります。損傷の種類など、過去の生の損傷だけでなく、将来の慣性も関係する他の要因と同様に。 各ユニットと構造タイプに独自の攻撃タイプがありますか?つまり、攻撃の種類、ダメージ、効果、範囲、パーティクル、スプライトなどを定義する各ユニット/構造のスクリプトを作成し、それをコンポーネントとして添付しますか? または、攻撃タイプを定義するスクリプト、それに関連付けられた発射物タイプのスクリプトなどを作成します。次に、それらを拡張し、ユニットごとに変更して、各スクリプトをユニット/構造にアタッチします。 私はある程度意味があることを願っています、私はこれを長い間熟考してきたので、問題を解決するのか、それとも自分の問題を作り上げて穴に掘るのか分からない 特定のユニット/構造に限定される場合とそうでない場合がある多数の攻撃タイプを持つことができるゲームがある場合、コンポーネント駆動設計環境でそれを特定のユニット/構造に結び付けるフレームワークをどのように設計しますか? これが十分に明確でない場合はお知らせください。 編集:素晴らしい答え、ありがとう。 拡張質問: 答えは、「各オブジェクトが独自の攻撃スクリプトを持つことができる」から「攻撃タイプを独自のスクリプトとして使用し、それを各オブジェクトに割り当ててより再利用可能なソリューションにする」までさまざまです。「ブラスター」攻撃があるとしましょう。それは特定の速度で赤い発射体を発射します。ダメージ、発射速度、および発射物のサイズは、発射するユニットに依存します。そのユニットの攻撃スクリプトを作成するだけの方が良いでしょうか、それとも、それを使用したい各ユニットの目的に合うように「ブラスター攻撃」を試して修正する方が良いでしょうか?
14 c#  unity  game-design 


2
Farseerで爆弾を爆発させて、近くのオブジェクトを押しのける方法はありますか?
Farseerで爆弾の爆発を作成しようとしています。爆弾用の円を作成しました。ただし、爆弾が爆発した場合、爆発の巨大な力によって押し戻されるため、周囲のオブジェクト(物体)は飛び去ります。しかし、私はその力をどのように作成するかわからない-どうすればそれを行うことができますか?

1
ゲームにショットガンを実装する方法は?
ピストルと機関銃は簡単です-弾丸を特定の方向に飛ばすことができるので、すでに実装しています。一方、ショットガンは、特定のエリア内のコーンのようなものにダメージを与えます。どうすれば実装できますか?ここにいくつかの提案がありますが、いくつかのアドバイスを使用できます。 弾丸を複数の小さな弾丸に分割します。小さな弾丸は、それ自体によるダメージは小さくなりますが、同じ方向に飛んでいきます(敵に近づくほど、攻撃される可能性が高くなります) 弾丸を使用しない-ショットガンショットのパーティクルエフェクトを設定し、位置/方向などに基づいて敵が受けるダメージを計算します。 物にダメージを与える大きな目に見えない弾丸(たとえば立方体)と、実際にはショットガンショットのように見えるパーティクルエフェクトがあります。 前もって感謝します!
14 c#  unity 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.