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

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

3
反転したテクスチャ
座標系の原点が画面の中心にあるこの物理ボディに合わせてテクスチャを描画しようとしています。(XNA)Spritebatchのデフォルトの原点は左上隅に設定されています。テクスチャを正しく配置しましたが、テクスチャが上下反転していることに気付きました。つまり、レンダリング時に上向きの矢印テクスチャが下向きになります。数学のどこが間違っているのかわかりません。 私のアプローチは、すべてを物理のメートル単位に変換し、それに応じて描画することです。 Matrix proj = Matrix.CreateOrthographic(scale * graphics.GraphicsDevice.Viewport.AspectRatio, scale, 0, 1); Matrix view = Matrix.Identity; effect.World = Matrix.Identity; effect.View = view; effect.Projection = proj; effect.TextureEnabled = true; effect.VertexColorEnabled = true; effect.Techniques[0].Passes[0].Apply(); SpriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend, null, DepthStencilState.Default, RasterizerState.CullNone, effect); m_Paddles[1].Draw(gameTime); SpriteBatch.End(); ここで、Paddle :: Drawは次のようになります。 SpriteBatch.Draw(paddleTexture, mBody.Position, null, Color.White, 0f, new Vector2(16f, 16f), …

1
ゲームやチュートリアルなどを書き始める場所はどこですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 私は実際には、.NET C#とVB.NET、C / C ++、Delphiの知識、および80286 Intelアセンブリ言語の中間知識を持つ産業システム開発者です。 すでに得た経験を最大限に活用しながら、ゲームの開発方法を学びたいと思います。 私の最初の目標は、管理とゲームソフトウェア開発の違いを学び、ゲーム開発者として何を考えることが重要であるかを理解できるようにすることです。 ゲームライティングチュートリアル、「Hello World!」のような、どこから始めればよいかについてのヒントは大歓迎です。私が言うなら、プログラム。 さらに、次のチュートリアルは「グーグル」中に見つかりました。 C ++ゲームプログラミング ; CおよびC ++プログラミングのゲームとエンターテイメントのチュートリアル。 C ++ゲームプログラミングリソースセンター ; C ++でゲームを作成する。 彼らは良いですか? 最も私を導いてくれた答えを受け入れます。ご協力いただきありがとうございます!=)
8 c# 

2
Gametime.TotalMillisecondsに制限はありますか?
ゲーム時間は常に増加している必要があり、合計ミリ秒が最大値になります。したがって、仮にゲームを1日間実行した場合、この値は86 400 000になります。 これはほとんどのゲームではおそらく問題ではありませんが、大きくなりすぎた場合、または制限が存在する場合でも、何らかのフェイルセーフメカニズムがあるかどうか知りたいです。
8 xna  c# 

2
レベルでオープンスペースを見つけるための最良の方法は何でしょうか?
私は、ペイントを使用してレベルにタイルを追加する2Dゲームに取り組んでいます。現在、ワープタイルを追加するように取り組んでいます。特定の方向指向のペイントが2つのポイント(開始と終了)を使用して、タイルが指す方向(左、右、上、下)を決定するように設定しました。ワープタイルにはこれらのポイントがありますが、他の2つのリスト(ワープの開始と終了)に追加されました。ワープの仕組みは次のとおりです。プレーヤーが1つのタイルに当たると、対応するワープタイルにテレポートされます。さて、これを適切に機能させるには、プレイヤーが壁やマップの外にテレポートできないようにする必要があります。したがって、壁から1スペース離れた開いたタイルにポイントを移動する必要があります。 これを行う最善の方法は何でしょうか?
7 xna  c#  tiles 

3
オブジェクトをパスに沿って移動させるにはどうすればよいですか?
下の画像のようなものを取得しようとしています。ご覧のように、高速道路があり、その中には移動しているオブジェクトがあります(ミリ秒)。通りの行動はパイプラインのようなものだと思います。高速道路がオブジェクトをロードすると、オブジェクトは最初に表示され、高速道路のもう一方の端に到達するまで高速道路を移動します。 私の主な問題は、いくつかのオブジェクトを高速道路の内側だけに移動するにはどうすればよいですか?

4
ゲームエディター-画面がクリックされたときに、クリックされたオブジェクトをどのように特定しますか?
ゲームエディターを作成しようとしています。現在は、さまざまなタイプのシェイプなどを配置しています。XNAで3Dを描画しながら、Windowsフォームでこれを行っています。したがって、画面にいくつかの図形があり、画面をクリックした場合、クリックしたこれらのオブジェクトの「どれ」を識別できるようにしたいと考えています。 これに最適な方法は何ですか?後ろに2つのオブジェクトがあるため、後ろのオブジェクトではなく前の1つのオブジェクトを認識できるはずです。また、カメラを回転させて後ろの1つをクリックすると、最初のオブジェクトではなく、それを識別できるはずです。 これについて賢明な方法はありますか?

2
2つの長方形間の衝突方向を決定する方法は?
2つの長方形の間で衝突が発生する方向を判別する方法を理解しようとしています。 1つの長方形は移動しません。もう一方の長方形は、任意の方向の速度を持っています。衝突が発生したときに、移動する長方形の位置をインパクトポイントに設定できるようにしたいと考えています。 どの方向から衝撃が発生するのかわからなくなったようです。厳密に垂直方向または水平方向に移動している場合、優れた検出を実現します。しかし、同時に両方向に移動すると、奇妙なことが起こります。 2つの長方形の間で衝突が発生する方向を決定する最良の方法は何ですか?

1
両方のプロファイルのXNA 4ゲーム
私はXNA 4でゲームを書いています。このバージョンには、高解像度とリーチの2つのプロファイルがあります。私の問題は、これらのプロファイルごとにゲームコードが必要であり、2つのプロジェクトがあり、両方ですべての変更を行うのは非常に不快なことです。私のアイデアは、プリプロセッサディレクティブを使用することでした(これの名前はわかりません、http://msdn.microsoft.com/en-us/library/ed8yd1ha%28v=vs.71%29.aspx)。プロファイルに問題がある場所。プログラムは2回(プロファイルごとに)コンパイルし、ディレクティブとプロジェクト設定を別のプロファイルに手動で変更する必要があるという問題のみがあります。そして私の質問は:それは良い方法ですか?これを行う方法のより良い、よりきれいな方法はありますか?
7 xna  c#  xna-4.0 

2
C#パーリンノイズ-「エンドレス」テレインチャンクの生成?
私は現在、C#の学習と楽しみの両方のために、C#で小さなサイドスクローラーを作成しています。現在、私は世界を生成する単純な乱数ジェネレーターを持っていますが、それはそれほど優れているわけではありません。そのため、いくつかの調査により、Perlin Noise生成がかなり役立つことを発見しました。問題は、いくつかのチャンクで構成された「無限の」風景が欲しいということです。 基本的に私の質問/懸念は: 例としてminecraft(3次元を無視)を使用して、Notchはどのように各チャンクを互いに完全に接続するのですか?トンネル、洞窟、鉱脈、山、平坦な土地、バイオームなどは、各チャンクが個別に生成される場合でも、場合によっては後日生成される場合でも、すべて相互に接続されています。これは私にとって重要です。プレイヤーが右に歩くことができるようにして、彼らが歩いているときに、地下のトンネルや洞窟システムなど、以前の風景に接続するより多くの風景を生成します。 #1から離れると、各チャンクが正方形であり、世界の高さが10正方形で、幅が無限の正方形であるという仮定の下で、これはどのように達成されますか?つまり、各「チャンク」は128x128タイルであり、世界は合計で1,280タイルです。(これは、選択した場合に無限に深いマップを作成できるようにするためです。また、チャンク/スクエアの4辺すべてを接続して、前のスクエア/チャンクが行っていた処理を続行できる必要があることを示すためです)。
7 xna  c#  2d  perlin-noise 

3
ポリゴンを順番に並べ替えます-機能しませんか?
私は3Dの世界でプログラミングをするのはかなり新しいです。 すべてのオブジェクトが最も遠いものから最も近いものへ、下から上へと描画されるキャンバスを作成しようとしています。そのため、オブジェクトは互いに重なりませんが、問題があります。 ご覧のとおり、一部のオブジェクトは互いに重なり合っています。画面内のどのオブジェクトも移動しないので、疑問に思っていました。オブジェクトを正しい順序でソートするために使用できるアルゴリズムはありますか?現時点では、Z軸で昇順に並べ替え、次にXで降順、Yで降順に並べ替えています。
7 c#  3d  isometric 

2
ボーンが指定された方向を指すようにクォータニオンを計算する
この質問を解決するために、ソースポーズの各ジョイントの絶対(ワールドスペース)方向を(正規化された単位ベクトルとして)把握し、ターゲットのジョイントを回転させてその方向に合わせることにしました。問題は、ボーン(ジョイントからその子へのベクトル)がワールド空間で指定された方向になるように回転クォータニオンを計算する方法です。 更新:これが私の現在の考えです。ボーンごとに、変換行列は次のようになります。 (1) absolute transform = local rotation * relative transform to parent in bind pose * parent absolute trasform したがって、3つの関節があるとします:肩->肘->手首。肩の絶対変換が既にあり、肘->手首がソースアニメーションと同じ方向になるように肘の回転を計算しようとしています。(1)から、絶対変換は次のようになります。 (2) ELBOW absolute = ELBOW local * SHOULDER to ELBOW relative * SHOULDER absolute (3) WRIST absolute = WRIST local * ELBOW to WRIST relative * ELBOW absolute 代入すると、次のようになります。 …

1
Update(GameTime)メソッドとPauseの実装に関する問題
私は一時停止機能を実装しており、プレーヤーの画面を暗くしてゲームプレイの更新を停止するという点で正しく機能します。 問題は、一時停止中にGameTimeが増加し続けることです。そのため、別の敵を生成する前にgameTimeとpreviousSpawnTimeをチェックするメソッドがめちゃくちゃになり、ゲームの一時停止が長すぎると、次の敵の描画が早すぎることがわかります。 これが敵のアップデート用のコードです。 private void UpdateEnemies(GameTime gameTime) { // Spawn a new enemy every 1.5 seconds if (gameTime.TotalGameTime - previousSpawnTime > enemySpawnTime) { previousSpawnTime = gameTime.TotalGameTime; // Add an Enemy AddEnemy(); } ... gameTimeに依存する他のメソッドもあります。合計休止時間を取得し、それを合計ゲーム時間から差し引こうとしましたが、それが私がこれを解決しようとする方法である場合、それが正しく機能するようには見えません。 他のコードが必要な場合はお知らせください。ありがとうございました。

1
複数のゲームで同じウィンドウを再利用することは可能ですか?
特に、私はC#とXNA、そして明らかにWindowsについて考えています。通常のXNAゲームであるメインゲームがあるとしますが、ある時点で、XNAにも実装されているがゲームとは完全に独立したミニゲームに一時的に切り替えたいと考えています。 同じウィンドウハンドルを再利用しながら、2つのゲームに切り替えたり、元に戻したりする方法はありますか?また、古い状態をメモリに保持することもできますが、この永続的なファイルへの書き込みも実装できます。 また、最初のゲームに戻るときに、ミニゲームのメインメソッドによって返された値にアクセスする方法はありますか?たとえば、プレーヤーがミニゲームをクリアしたかどうかに応じて、1または0になります。 アンドリュー・ラッセルは書いている: ミニゲームとメインゲームを同じプログラム内の別々のクラスに構築する必要があります。これらの各クラスには、Update、Draw、Initializeなどのメソッドが必要です。次に、これらのメソッドを呼び出して一度に1つのゲームのみをアクティブにする何らかの種類のマスターコントローラーを用意する必要があります(これは単にメインゲームクラスにある場合もあります)。 答えてくれてありがとう。あなたの提案は、私が通常のゲーム状況で行うことです-私がミニゲームとそのコンテンツのすべてを作成している状況です。 しかし、これはゲームではなく、グラフィックアドベンチャーを作成するためのゲームメーカーツールであり、特定のゲームイベントに応答して外部ミニゲームを接続する必要性を感じるのはエンドユーザーです。 私が交換しようとしている古い内部エンジンはFlashで行われ、メインのSWF内にSWFをロードするだけでこの問題を解決しました。ほとんどの場合、問題なく動作しました。同様のことをしようとしていますが、現在XNAを使用しています。 しかし、あなたの電車や考えに従って、おそらくすべてのミニゲームの基本クラスまたは共通インターフェイスを含む個別のアセンブリを作成し、それをdllとしてコンパイルできます。次に、ユーザーはそのライブラリを参照し、インターフェイスを実装して、実行時にエンジンによってロードされ、メインゲーム内の別の状態として実行される独自のライブラリにコンパイルします。私はいくつかの隠された影響を逃していますか?
7 xna  c#  windows 

3
動作/属性GameComponentアーキテクチャ
私は大学生で、ゲーム開発は私にとって少し趣味です。私は新しいゲームを書いていて、ゲームエンジンをより柔軟に(そして将来の取り組みのための強固な基盤を提供できるようにするために)開発するための新しいアプローチを探しています。ゲームエンティティを表すために深い継承に依存するのではなく(継承ツリーのルートノードとリーフノードが重い場合や、場合によってはダイヤモンドの継承につながる可能性がある)方法に関するいくつかの記事を見つけましたが、より良いアプローチはロジックをモデル化することですコンポーネント内(より良い、動作と属性)。 これを示すプレゼンテーションは次のとおりです。http: //www.gdcvault.com/free/gdc-canada-09 「ゲームオブジェクトコンポーネントアーキテクチャの理論と実践...」 XNAとC#を使用してこれを実装しています。私はエンティティクラスがあります: class Entity { private Game1 mGame; private Dictionary<AttributeType, object> mAttributes; private Dictionary<BehaviorType, Behavior> mBehaviors; public Entity(Game game) { mGame = game; mAttributes = new Dictionary<AttributeType, object>(); mBehaviors = new Dictionary<BehaviorType, Behavior>(); } public Game GetGame() { return mGame; } //Attributes public void SetAttribute<T>(AttributeType attributeType, T …
7 c#  xna 

2
動くオブジェクトがたくさんある四分木
私がやろうとしていることに非常に役立つクアッドツリーの実装があります。私の問題は、ビューポートに多くのオブジェクトがある場合、クアッドツリーの更新に非常に長い時間がかかることです。 非静的オブジェクトの場合、クワッドツリーが遅いことは既知の事実です。高速化するためにいくつかの方法を試しましたが、実際には、多数のオブジェクトを非常に頻繁に更新する必要があります。 代わりに私が見ているより良いアルゴリズムはありますか?あなたが知っているいくつかの派生したクワッドツリー実装はありますか?

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