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

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

3
偏った保守的なランダムウォーク
とのどちらかとして保存されたスプライトがVelocityありPositionますVector2。各Updateサイクルで、速度が位置に追加されます。 スプライトに3番目のベクトルを与えたいと思いTargetます。新しいターゲットは、どの反復でも指定できます。スプライトが本質的にランダムウォークパターンで移動するようにしたいのですが、2つのパラメーターを公開する必要があります。 典型的なランダムウォークは、任意の距離までの距離を増加または減少させる可能性がありますTarget(さらに、接線方向の動きのわずかな可能性)。私はランダムウォークにバイアスをかけることができなければなりませんが、それでもランダムではありますが、スプライトが「決定する」方向がより近くなるようにする必要がありますTarget。 ランダムウォークは「スムーズ」である必要があります。スプライトの方向が急激に変わることはありません。これは、プレイヤーにとって「ちらつき」または「震え」のように見えるためです。平均化するとゆっくりと近づきながら、ランダムに移動しながら、このように、または徐々に変化します。 これを行うための良い、簡単な方法は何ですか?可能であれば、答えをVector2 RandomWalk(Vector2 target)メソッドとして提供します。 NextGaussian(mean, stdev)役立つ方法があれば、すでに利用可能なメソッドがあります。

7
XNAで六角形のタイルマップピッキングを実装するにはどうすればよいですか?
六角形がクリックされたときに確認する必要がある六角形のタイルマップがあります。六角形は実際には接触しておらず、それぞれの間にわずかな隙間があります。 全体を複雑にすることなく、六角形がクリックされたかどうかを確認する方法を知っている人はいますか?
13 c#  xna  hexagonal-grid 


6
XNAでマウス入力を処理する方法は?
XNAでカードゲームを開発しています。 OnClickXNAにオブジェクトのイベントはありますか? プレイヤーがカードをクリックしたときにカードを動かそうとしています。このプロジェクトには、カードを描画するSpriteクラスがありますが、OnClickイベントなどを使用する方法がわからないため、少し立ち往生しています。
13 xna  c#  input  mouse 

3
ビート検出とFFT
私はビート検出付きの音楽を含むプラットフォーマーゲームに取り組んでいます。現在、現在の振幅が履歴サンプルを超えているかどうかを確認することで、ビートを検出しています。これは、かなり安定した振幅を持つロックなどの音楽のジャンルではうまく機能しません。 そこで、さらに調べて、FFTを使用してサウンドを複数の帯域に分割するアルゴリズムを見つけました...そして、Cooley-Tukey FFtアルゴリズムを見つけました 私が抱えている唯一の問題は、私がオーディオにまったく慣れていないことであり、それを使用して信号を複数の信号に分割する方法がわかりません。 だから私の質問は: FFTを使用して信号を複数の帯域に分割する方法 また、興味のある人のために、これはc#の私のアルゴリズムです: // C = threshold, N = size of history buffer / 1024 public void PlaceBeatMarkers(float C, int N) { List<float> instantEnergyList = new List<float>(); short[] samples = soundData.Samples; float timePerSample = 1 / (float)soundData.SampleRate; int sampleIndex = 0; int nextSamples = 1024; // …

2
WP7が電話でクラッシュする原因となる曲を再生するが、エミュレーターではクラッシュしない
XNA 4.0を介してWindows Phone 7で再生を開始し、継続的にループするゲームに曲を実装しようとしています。エミュレーターでは、これは正常に機能しますが、電話に展開すると、ホーム画面に戻る前に黒い画面が表示されるだけです。問題の不正なコードは次のとおりです。このコードをコメント化すると、電話でアプリが正常に実行されます。 // in the constructor fields private Song song; // in the LoadContent() method song = Content.Load<Song>("song"); // in the Update() method if (MediaPlayer.GameHasControl && MediaPlayer.State != MediaState.Playing) { MediaPlayer.Play(song); } 曲ファイル自体は、長さが2:53の2.28mb .wmaファイルで、ビットレートは106kbpsです。 繰り返しますが、これはエミュレーターでは完全に機能しますが、電話ではまったく動作しません。あなたが提供できる助けをありがとう!

1
C#/ XNAゲームプロジェクトの単体テスト
私はプログラミングを始めてからゲーム開発に挑戦してきましたが、決して真剣にはなりませんでした。私はビジネスアプリ開発者として働いていますが、暇なときにいくつかのゲームに取り組んでいます。 (Microsft web-devスタック上の)ビジネスの世界では、ASP.NET MVCは、インターフェイスの動作方法の単体テストが容易なため、非常に人気が高まっています。 すべてのゲームロジックを簡単に単体テストできるゲームを作成するために、どのデザインパターン(MVC、MVP、MVVMなど)を使用できるのか疑問に思っています。これは可能ですか?時間を無駄にしていますか?完全なビルドを行ってから、単体テストの代わりに「統合」タイプのテストを実行する方が良いでしょうか? サンプルコードは素晴らしいものですが、説明も役立ちます。 (ユニットテストタグを追加しようとしましたが、必要な担当者がいません...)

4
2Dゲームで任意の大きな画像を処理する方法は?
質問 本当に大きな画像(ハードウェアがサポートできるサイズよりも大きい)を使用する2Dゲームがある場合、どうしますか?たぶん、私にはこれまでになかったこの問題に対する興味深い解決策があるかもしれません。 私は基本的に、一種のグラフィックアドベンチャーゲームメーカーに取り組んでいます。私のターゲットオーディエンスは、ゲーム開発(およびプログラミング)の経験がほとんどない人です。このようなアプリケーションで作業している場合、「画像を分割する」ように指示するよりも、内部で問題を処理する方が好みではないでしょうか? 環境 グラフィックカードは、使用できるテクスチャのサイズに一連の制限を課していることはよく知られています。たとえば、XNAを使用する場合、選択するプロファイルに応じて、2048または4096ピクセルの最大テクスチャサイズに制限されます。 通常、2Dゲームではほとんどの場合、小さな個別のピース(タイルや変形したスプライトなど)から構築できるレベルがあるため、それほど問題にはなりません。 しかし、古典的なpoint'n'clickグラフィックアドベンチャーゲーム(Monkey Islandなど)について考えてみてください。グラフィックアドベンチャーゲームの部屋は通常、全体的に設計されており、風景に取り組んでいる画家のように、再現可能なセクションがほとんどまたはまったくありません。または、大規模な事前レンダリングされた背景を使用するFinal Fantasy 7のようなゲーム。 これらの部屋のいくつかはかなり大きくなることがあり、頻繁に3画面以上の幅に広がります。現在、これらの背景を最新の高解像度ゲームのコンテキストで考慮すると、サポートされる最大テクスチャサイズを簡単に超えてしまいます。 これに対する明白な解決策は、背景を要件内に収まる小さなセクションに分割し、それらを並べて描画することです。しかし、あなた(またはあなたのアーティスト)はあなたのテクスチャのすべてを分割する人でなければなりませんか? 高レベルAPIを使用している場合、この状況に対処し、内部で(XNAのコンテンツパイプラインなどの前処理として、または実行時に)テクスチャの分割とアセンブルを行う準備をしてはいけませんか? 編集 XNA実装の観点から、私が考えていたものを以下に示します。 私の2Dエンジンは、Texture2Dの機能の非常に小さなサブセットのみを必要とします。実際にこのインターフェイスに減らすことができます: public interface ITexture { int Height { get; } int Width { get; } void Draw(SpriteBatch spriteBatch, Vector2 position, Rectangle? source, Color color, float rotation, Vector2 origin, Vector2 scale, SpriteEffects effects, float layerDepth); } …
13 xna  c#  2d  graphics  textures 

4
開発の後半の段階で、ネットワークコードをどのように記述できますか?
私は現在、ゲームの作成の初期段階にあり、最終的にはほとんどの面で改善したいと思っています。 ネットワークコードの作成をスキップして、かなり簡単に実装したまま、つまり追加するだけでゲーム全体を書き直す必要がないようにするにはどうすればよいですか。 何を覚えておく必要がありますか? 物理学/衝突検出、ゲームロジック、データタイプ、アニメーション/レンダリングを互いに分離するコンポーネントパターンがあります。 ネットワークコードがまだ実装されていないクライアントとサーバーを作成して、ローカルでテストする方法を教えてください。 クライアントで何をすべきか、サーバーで何をすべきか?ネットワークコードが終了し、サーバーとクライアント間でメッセージを送信し、遅延などがない場合でもアカウントにメッセージを送信するふりをする必要がありますか? 編集:トップダウンRPGになる予定です。友人のためにサーバーをホストするシンプルなマルチプレイヤーは私が考えていることです。それでも、「サーバーは常に正しい」というアプローチにしたいと思います。 編集2:私は私の心のセットがどうあるべきかについてのいくつかのポインタを探していると思います。すべてのエフェクト/変更を即座に適用するのではなく、キーボード入力やアニメーションなどをどのように処理すればよいですか。うーん、私は結局のところどこかに行く前にネットワークについて適切に読む必要があるかもしれません。

6
複数の色を色分けする方法は?
Unityドキュメントでこれに対する解決策を見つけるのはかなり難しいと感じました。 Color.Lerp(Color a, Color b, float t) は、ステップtに従って色を徐々に変化させ、Color bの最終値を与える関数です。 どうすれば複数の色の間を次々と検索できますか?
12 c#  unity  color  lerp 

5
Bresenhamのラインアルゴリズムを浮動小数点エンドポイントに一般化するにはどうすればよいですか?
私は2つのことを組み合わせようとしています。私はゲームを書いていますが、浮動小数点の端点を持つ線上にあるグリッドの正方形を決定する必要があります。 さらに、接触するすべてのグリッド正方形(つまり、ブレゼンハムの線だけでなく、青の線)を含める必要があります。 誰かが私にそれを行う方法に関する洞察を提供できますか?明白な解決策は、単純なラインアルゴリズムを使用することですが、より最適化された(高速な)ものはありますか?

3
デフォルトで高性能GPUで実行するようにアプリケーションを設定するにはどうすればよいですか?
現在、多くのラップトップには2つのGPUが搭載されています。1つは高性能のGPUで、もう1つは省電力のGPUです(それほど強力ではありません)。私のラップトップで使用するほとんどのアプリケーションは、統合された(省電力)GPUで実行されますが、それでも一部は高性能カードで開くように設定されています。デフォルトで高性能GPUで実行するように構築しているアプリを設定しようとしていますが、トピックに関する情報がどこにも見つかりません。誰かがこれに少し光を当てることができることを願っています。NSISインストーラーでアプリケーションを配布しますが、NVidia / ATIカードのアプリケーションのリストにアプリケーションのパスを追加する必要があると思います。アプリケーションはC#でプログラムされています。また、デスクトップPCで物事がどのように機能するかを知っている人はいますか?PCに2つのGPUがあり、より強力なGPUを選択する必要がある場合はどうなりますか? ミルチョ
12 c#  gpu 

6
Ball Physics:ボールが止まったときに最終的な跳ね返りを滑らかにする
私は小さなバウンドするボールゲームで別の問題に直面しました。 ボールが止まりそうな最後の瞬間を除いて、ボールはうまく跳ね返ります。ボールの動きは主要部分では滑らかですが、最後に向かって、画面の下部に落ち着くとしばらくボールが動きます。 なぜこれが起こっているのかは理解できますが、それをスムーズにすることはできません。 提供できるアドバイスに感謝します。 私の更新コードは次のとおりです。 public void Update() { // Apply gravity if we're not already on the ground if(Position.Y < GraphicsViewport.Height - Texture.Height) { Velocity += Physics.Gravity.Force; } Velocity *= Physics.Air.Resistance; Position += Velocity; if (Position.X < 0 || Position.X > GraphicsViewport.Width - Texture.Width) { // We've hit a …
12 xna  c#  physics 

2
C#で簡単なヘビゲームを作成する
C#でスネークゲームを作成することを考えていたので、頭の中でアイデアを実行し、いくつかの問題が発生しました。 ヘビの頭の後ろを通るブロックを正しい場所で追跡して出力するにはどうすればよいですか? ヘビが5つのブロックで構成されていて、ユーザーが円を描くようになった場合、ヘビの体を正しい場所に印刷するにはどうすればよいですか? また、ユーザーが何をしても、バックグラウンドで実行されるアクションを作成して、ヘビを前方に移動させるにはどうすればよいですか? コードにはどのような構造が必要ですか?(コード設計構造) 私がよく知っている唯一のフレームワークなので、これはコンソールアプリケーションでなければなりません。 それがどのように機能するかを本当に理解したいので、完成したコードを探していません。
12 c# 

5
タイルベースの2Dプラットフォーマーでの45°の傾斜
タイルベースのプラットフォーマーに単純な45°の傾斜を持たせたいのですが、アルゴリズムをダウンさせることはできません。コードとビデオを見てください、多分私は明らかを見逃していますか? //collisionRectangle is the collision rectangle of the player with //origin at the top left and width and height //wantedPosition is the new position the player will be set to. //this is determined elsewhere by checking the bottom center point of the players rect if(_leftSlope || _rightSlope) { //Test bottom …
12 xna  c#  xna-4.0  platformer 

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