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

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

1
ZuneはWP7と同じ機能ですか?(ジェスチャー、加速度計)
カナダにはまだzune HDがありません(まだ)、WP7と同じプログラム可能な機能があるかどうか疑問に思っていますか?ジェスチャーや加速度計のようなものです。 基本的に、私がゲームを作成しているだけで、画面コントロール(画面上のサムスティック)を使用している場合、これはZuneへの簡単なポートですか? ありがとう!

2
XNA用のスクリプトエンジン
XNAを使用してC#でこの大きなゲームを作っているとしましょう。 コードベースにスクリプト機能を含めるには、どのようなオプションが必要ですか?
9 xna  c#  scripting 

2
ゲームにMonoTouchを使用した人はいますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 MonoDroidのリリースが保留されているため、Objective-Cスキルを強化するための可能な代替手段として、MonoTouchを再検討することにしました。誰かが何か経験を積んでいて、他の人がぶつかる前に落とし穴を共有するのではないかと思っていました。CWに設定します。回答ごとに1つのハードルを設定してください。 MonoTouchを使用すると、ネイティブコードライブラリにアクセスして、iPhoneおよびiPadアプリケーションのC#開発を行うことができます。

3
MMORPGのUNITYにおけるネットワークと動き
BeamServer2 DLLを使用してC#で専用サーバーをプログラミングしています。最初は、他のプレイヤーがすでに作成したOmuniマップ上で動くのを見たいと思っていました。これは、フレームごとにサーバーに自分の位置を送信することで行いました。これはうまくいき、私は数人の友達と遊ぶことができましたが、運動は遅れがありませんでした。そこで、サーバーが他のクライアントに到達するのを妨げることなくサーバーが誤った位置を送信できないように、動きの平滑化といくつかのセキュリティを追加しようとし始めました。 私がやったのは、remotePlayerにMovementControllerを持つmasterClientを作成したことです。クライアントが移動したいときは、ローカルに移動し、移動する方向を示すメッセージをサーバーに送信します。その後、サーバーは速度を取り、それをmasterClientに送信します。masterClientは、remotePlayerが自分自身を移動するように、remotePlayerを移動します。彼が動くのをやめると、彼は自分の位置を入れたメッセージを送ります。次に、マスタークライアントは、自分が来た位置がクライアントからの位置と同じくらい近いかどうかをチェックします。サーバーのクライアントの位置にサーバーを置いたクライアントのpingに従って現実的な場合は、 これは機能しますが、まだ問題があり、これを修正する方法がわかりません。クライアントの動きをスムーズにする必要がありますが、自分の位置に(x / 2、y / 2、z / 2)をたたきつけて、次のフレームで実際の位置に置くことができることに気付き、失敗しました。すぐに再試行します。それが追加されても、遅延が修正されているかどうかはわかりません。 他のテクニック、提案、質問、...?ありがとう、ディーデ。
8 c#  networking  mmo  unity 

2
WPFでXNAを使用する方法
XNAを使用して一部のグラフィックスをWPFアプリのウィジェット/コントロールにレンダリングするにはどうすればよいですか?具体的には、XNAグラフィックウィンドウ内にWPFコントロールは必要ありません。レベルエディター用にいくつかのコントロールを配置するだけです。
8 xna  c#  wpf 

2
トップダウン宇宙ゲーム制御問題
タイトルが示唆するように、私はトップダウンの宇宙ゲームを開発しています。 プレイヤーが制御する船でニュートン物理学を使用するつもりはありません。FlatSpace 2(素晴らしいゲーム)に似た制御スキームを実現しようとしています。マウスコントロールではなく、キーボードコントロールでこの感覚を実現する方法を理解できません。助言がありますか? Unity3dを使用していて、C#またはjavaScript(unityScriptまたは正しい用語は何か)を使用して、コード例をいくつかドロップしたい場合は問題なく動作します。 編集:もちろん、私はFlatSpace 2の制御スキームについて説明する必要があります。マウスボタンを押したまま、船を移動したい方向にマウスを動かします。しかし、それは私が操作方法を知らないコントロールではなく、車の運転と飛行機の飛行の混合感です。それは本当によくできています。YouTubeリンク:iPhoneのFlatSpace2 私はiPhoneゲームを開発していませんが、ビデオはムーブメントスタイルの原則を示しています。 編集2 少し興味があるようですので、私は継続するために使用したコードのバージョンを投稿します。十分に機能します。時々十分で十分です! using UnityEngine; using System.Collections; public class ShipMovement : MonoBehaviour { public float directionModifier; float shipRotationAngle; public float shipRotationSpeed = 0; public double thrustModifier; public double accelerationModifier; public double shipBaseAcceleration = 0; public Vector2 directionVector; public Vector2 accelerationVector = new Vector2(0,0); public …
8 c#  unity  javascript 

6
なぜ私はループで動けなくなるのですか
Unityは初めてです。私はコルーチンを学び、これを書いた。 private void Fire() { if(Input.GetButtonDown("Fire1")) { StartCoroutine(FireContinuously()); } if(Input.GetButtonUp("Fire1")) { StopAllCoroutines(); } } IEnumerator FireContinuously() { while(true) { GameObject laser = Instantiate(LaserPrefab, transform.position, Quaternion.identity) as GameObject; laser.GetComponent<Rigidbody2D>().velocity = new Vector2(0, 10f); yield return new WaitForSeconds(firetime); } } ボタンが押されるとコルーチンが呼び出され、「while」ループに入ります。ボタンを離れると、コルーチンが停止します。それは無限ループなので、「while」ループに引っかかってはいけませんか?どうして?
8 unity  c#  coroutines 

2
さまざまな攻撃速度の武器のバランスを保つRPGのダメージ式を設計するにはどうすればよいですか?
私はモバイルRPGゲームを作成しています。ディアブロ3のような戦利品システムがある無限のゲームです。武器には攻撃と速度があり、鎧には抵抗値があります(パーセントではありません)。 私が使用している式は次のとおりです。 float realDamage = SkillDmg * BaseDamage / ( BaseDamage + Defense ) 結果は良好です。防御力が低くなると、ダメージが大きくなり、(BaseDamage + Defense)の間の分割のために指数関数的に上昇しません。 攻撃速度が1.0で、50のダメージを与える剣があるとします。それは50 dpsであり、私はそれがより速く攻撃したいダガーを持っていますが、もちろんより少ないダメージを与えます、dpsを維持するために、ロジックはダガーの攻撃速度が2倍になる場合、ダメージは半分になる必要があると言います(2.0スピード25 dmg)。しかし、上記の式を使用すると、実際の実際のダメージDPSが剣よりも低いことがわかります。 ダガーに25のダメージを与えずに少しだけ増やして、これを解決しました。いくつかの計算を行って、実際のdpsを同じにして、物事のバランスをとることができます。この場合、2.0スピードの短剣は剣と同じ実際のダメージdpsになるように32ダメージを与える必要があります。 しかし、武器にDPS番号を表示したい。短剣のDPSを32 dmg * 2の攻撃速度で表示すると、剣の50 dpsと比較して64 dpsになります。 可能な解決策?最初のダメージ計算式を変更しますか?もしそうなら、どれに?式を変更しないとしましょう、解決策はありますか?私は本当にそれを作るために半分より多くのダメージを与えるために短剣をだまさなければならないのが好きではありません... 私は本当にディアブロ3のダメージの公式を知ってほしいと思います。ディアブロ3はDPSの武器であり、基本的なダメージ*攻撃速度です。 編集: Lets assume defense = 50 and normal attack (skillDmg = baseDmg) Sword 1.0 attack speed dealing 50 dmg -> real …

1
ゲーム内でシェイプをスナップする
プレイヤーがキャンバス上を動き回る可能性がある形を一緒にスナップする方法を考え出そうとしています。 正方形が他のオブジェクトに近づくと、その形状を(特定の近接性がある場合)引き込み、そのオブジェクトの端に沿って完全にスナップさせます。 ルール: エッジが互いに平行な場合のみ 子の正方形(ドラッグ中)が親の正方形(接近中)の半分のサイズの場合、親の正方形のエッジの中点で、子が左/右/上/下のどちらにスナップするかを決定できます。 誰かがこのようなことをしましたか?私はc#とUnityを使用しています。乾杯。
8 unity  c#  mathematics 

4
エンティティコンポーネントシステム-ゲームの進行
私はゲーム開発(プログラミングではなく)に非常に慣れていないので、世界間の通信を処理するための最良の方法を理解しようとしています。私が言っているのはこれです: 私はエンティティコンポーネントシステム(ECS)と、人々がさまざまなワールド/スペース(http://gamedevelopment.tutsplus.com/tutorials/spaces-useful-game-object-containers--gamedev-14091)の使用をどのように提案するかについて読んでいますゲームのサブセクション。たとえば、HUD、インベントリ、または戦闘/移動は、それぞれ異なるワールド/スペースを取得します(それらは異なるグラフィックスと基礎となるロジックを持っているためです)。 しかし、たとえば戦闘中など、別のスペース/ワールドによってヘルスが処理される場合、インベントリまたはHUDがプレーヤーのヘルスをどのように知っているのかと思いました。 これは、ゲームの進行状況にも適用されます。たとえば、NPCとのダイアログ(ダイアログはポップアップ画面であるため別のスペースになります)ですが、ダイアログで行われた選択(または状態)を他のスペース/ワールドにどのように伝えますか。 。または基本的に、さまざまなスペース/世界でのゲームの進行に影響を与える他のタイプのイベント(健康、マナ、クエスト、ダイアログ、戦闘、インベントリ、hudなど) この種の設計をどのように処理するでしょうか?このような情報をすべて保持する(実装の)シングルトンオブジェクトが必要ですか?それは奇妙なことです。それは、components2回物事をしているように感じる(プログラミングのメインDRYに反対する)このシングルトンオブジェクトに各変更を伝える必要があるからです... 私はここでデザインの点で途方に暮れています。 ---編集--- だから私はコメントで提案された他のいくつかの投稿を読んで、可能性についての一般的な考えを得ましたが、それらのそれぞれには、それらを正しくないようにする1つの大きな欠点があるようです。これらの欠点を解決する詳細を監督している可能性が非常に高いため、自由に修正してください。概要と、いくつかの質問に対する回答を示します。 スペース間でデータを「共有」する3つの主要なオプションが表示されます。ほとんどの投稿はシステム間でのデータ共有に関するものですが、システム間でのデータ共有にも同じことが当てはまると思います。 1.クエリ 例:HUDワールドがプレーヤーの現在のヘルスを知る必要がある場合、HUDワールドは別のワールドを照会して現在のヘルスを要求できます。 欠点:世界はお互いを知る必要があります。これは依存関係の大きな問題であり、デカップリングに反対しています。 2:ダイレクトメッセージング(同期および非同期) 例:戦闘中にプレーヤーのヘルスが変更された場合、この変更について知る必要がある他の世界にメッセージ(同期と非同期、必要なものは何でも)を送信できます。 欠点:それでもデカップリングの問題:世界はお互いについて知る必要があります。 3:間接メッセージング(同期および非同期) <-最適なオプション 例:戦闘中にプレーヤーのヘルスが変化した場合、プレーヤーはメッセージ(同期と非同期、必要なものは何でも)を一般的なメッセージハブに送信できます。この変更について知る必要がある他の世界/システムは、特定のメッセージチャネルにサブスクライブされ、メッセージを読み取ります。 利点:完全に分離され、管理と拡張が容易です。 欠点/不明確:メッセージチャネルは、メッセージを削除する必要があることをいつ知っていますか?または、サブスクライブしているシステムがメッセージを(それ自体のみ)既読としてマークし、新しいメッセージを待つ->しばらくするとメッセージボックスが巨大になる。ワールド/システムはどのように順序を処理しますか?たとえば、フレーム中:HUDがすでにヘルスメッセージをポーリングし、その後ヘルスが変化した場合、次のフレームでHUDが更新されます。一部のアプリケーションでは、これは正しい方法ではない場合があります。 Q:1つのゲームオブジェクトが複数のスペースに存在できます 私は組み込みスペース(ワールドと呼ばれます)に付属しているArtemis ECSフレームワークを使用しています。各エンティティ(およびそれとともにコンポーネントの形式のデータ)はワールド上に作成されるため、ワールド間で共有することはできません。

2
Unity3dを介して新しいc#スクリプトを追加するときにVS soution Explorerを強制的に再読み込みしますか?
私はC#スクリプトを作成する(ときCreate -> C# Script)を介しUnity3d やからそれを削除Unity3d- Visual Studioショー私の警告ウィンドウ。 気に障る。 ウィンドウなしでソリューションエクスプローラーで「ReloadAll」を強制する方法はありますか?
8 unity  visual-studio  unity  google-play-services  google-play  physics  simulations  c#  unity  raycasting  unity  virtual-reality  savegame  arcade  c++  steam  ios  objective-c  databases  storage  opengl  vbo  vao  libgdx  scene2d  unity  animation  c#  path-finding  roguelikes  opengl  c++  glsl  2d  physics  phaser  selection  3dsmax  unity  collision-detection  c#  tilemap  isometric  unity  c#  2d  sprites  mouse  scripting  grid  c#  unity  libgdx  java  unity  playstation4  c#  c++  directx  dll  c++cli  libgdx  overlap2d  multiplayer  node.js  websocket  animation  unity  textures  unity  terrain  physics  unity  rotation  movement  transformation  monogame  windows  installer  shaders  unity  virtual-reality  unity  performance  frame-rate  profiler  google-play  appstore  trademark  java  android  libgdx  unity  unity-networking  unity  physics  software-engineering  unity  savegame  physics  2d  unity  unity  c#  unity-networking  textures  geometry  unreal-4  3d-modeling  java  android  libgdx  android  collision-detection  libgdx  rotation  legal  localization  patents  opengl  cubemap  sampler-state  2d  transformation  unity  c#  opengl  glsl  lighting  opentk  c++  collision-detection  physics 

2
六角形グリッドの範囲内のセルを見つける
最初に-私はここで超高密度になっていることを知っています。 これで、このアルゴリズムのC#実装を記述しようとしています。 var results = [] for each -N ≤ dx ≤ N: for each max(-N, -dx-N) ≤ dy ≤ min(N, -dx+N): var dz = -dx-dy results.append(cube_add(center, Cube(dx, dy, dz))) 私はこの途方もないリソースからこれを取得しました。 私の問題は、これまでに試したすべての実装で、すばらしい結果が得られたことです。たとえば、以下に示すコードは現在、この結果になります。 この: 私のコードは現在次のようになっています: for (int x = this.CellPositionX - distance; x <= this.CellPositionX + distance; x++) { for (int …

3
Unityでの惑星サイズの世界のフロート制限の克服
私の知る限り、Unityで世界の原点から100万ユニットを超えることは、浮動小数点の精度の問題のため、ほとんど不可能です。 半径が1M単位を超える世界を作成するにはdouble、座標にvarを使用するか、いくつかの空間分割手法を使用して、大規模なシーンを階層チャンクに分割する必要があります。最小のチャンクは約10000単位です。つまり、各ワールド空間の位置が表現されます。チャンク階層によって、オブジェクトのインとfloat、最後のチャンク内のローカル位置(および場合によっては回転とスケーリング)を表すvarの束。 どちらの方法でも、これを行うには完全に新しい座標系を実装する必要があるため、Unityでそれが可能かどうか、可能であれば、物理学などの既存のUnityシステムでそれをどのように機能させるかについて知りたいのです。 PS惑星の周りで同時に物事を進行させたいので、プレイヤーが移動するときに世界を原点に移動することはできません。 ありがとう!

2
障害物にスナップするドラッグ可能なオブジェクトを作成するにはどうすればよいですか?
私はまだマウスでドラッグして別の質問(私はC#でUnityを使用しています)を持ちますが、それほど一般的ではない詳細:ドラッグが発生する経路の途中に障害物が存在する(2Dではなく3Dスペース) 。 説明させてください。"obj"と呼ばれる立方体をドラッグしたい平面があるとします。それは簡単です。これが私の簡単な実装です: void Update () { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit, 1000000)) obj.transform.position = new Vector3(hit.point.x,0.25F,hit.point.z); } できます。ただし、平面上に障害物である他のいくつかの立方体もあるとします。明らかに、プレイヤーが平面上で「obj」を動かすとき、そのような動きは障害物によってブロックされるべきです。そして、障害物と衝突している間、「obj」はその障害物の側面にのみ移動して移動する必要があります。マウスを動かして "obj"が障害物との衝突をやめると、自由なドラッグスタイルの動きが再開されます。 課題をより困難にするために、障害物でRigidBodyコンポーネントを使用せずにそれを達成するために懸命に努力しています(ドラッグされたオブジェクトはそれを持つことができます)。それを達成するための最も効率的な方法は何ですか?どうもありがとう! 編集:コメンテーターは私の注意を喚起しました、私はスナップするときにオブジェクトが回転することを許可されていることを言及すべきです。 編集2:元の定式化の難しさを考慮して、ドラッグされたオブジェクトでのリジッドボディコンポーネントの使用を許可する質問を変更しました。ソリューションでは、障害物でリジッドボディコンポーネントを使用できません。

2
C#Unityのポインター
ちょっと最近ポインタについて学んだばかりで、c#でそれらをどのように使用できるのか疑問に思っています(c ++でそれらについて学んだばかりです)。でもいくつか質問があります。 ポインターは低レベルのプログラミングを使用してコンピューター上のさまざまな値の位置を見つけます。つまり、任意のスクリプトから変数の値にアクセスできるということですか。 もしそうなら、ロケーションコードだけで変数のロケーションを呼び出すにはどうすればよいですか? C#とC ++のポインターの間に、私が知っておくべき識別可能な違いはありますか? Unityの変数タイプ(Vector3s、Transforms、GameObjectsなど)でポインターを使用するにはどうすればよいですか? さらに多くの質問があるので、追加の情報やソースがあるかどうかを確認します。

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