これを扱ったいくつかの記事を読みましたが、いくつかの実装を試みた後、常に同じ問題が発生し、
簡単なメモ:これは在宅勤務です
XNA を使用して、ゲーム デザインのクラスで大乱闘スマッシュブラザーズ (N64 スタイル) を再作成しています。今、私には密接に関連する2つの問題があります.SSBに精通している人なら誰でもコンボ攻撃を知っているでしょう.つまり、「Forward A」、「Up B」などを押してください.私は現在働いているヨッシーを持っています。私が見つけた主な問題は、キーがまったく同時に押されない限り、別の動き、つまりUp Aの場合、ジャンプがオフになることです
現在、私のifステートメントは....
if (state.IsKeyDown(Keys.Up) && state.IsKeyDown(Keys.B))
{
actionComponent.curAction.secondaryAction = SecondaryAction.Stand;
actionComponent.curAction.primaryAction = PrimaryAction.Up_B;
}
else if (state.IsKeyDown(Keys.Up) && state.IsKeyDown(Keys.A))
{
//Console.WriteLine("This is C#");
actionComponent.curAction.primaryAction = PrimaryAction.Up_A;
actionComponent.curAction.secondaryAction = SecondaryAction.Smash;
spriteComponent.curColumn = 0;
}
else if (state.IsKeyDown(Keys.Up))
{
actionComponent.curAction.secondaryAction = SecondaryAction.Jump;
actionComponent.curAction.primaryAction = PrimaryAction.None;
}
私は明らかに、可能なアクションごとにさらに多くのアクションを持っていますが、それらはすべて、1回のキープレスが最後のキープレスになるように配置されているため、他のキーを登録することができますが、同時にそれらを押さない限り、キープレスを登録しません-a私が試したいくつかのアイデア、ifステートメントで矢印キーを処理し、スレッドを少しの間スリープさせてから、矢印キーとボタン、つまりAが押されたらひよこ)
私の2番目の問題、私は実装について議論していますが、実装する場合、SSBプレーヤーはジョイスティックを少し前に押すことを認識し、Aを押すとクイックキック/ジャブが得られますが、キーを強く押します(ジョイスティックは遠くに/多分速く/ e)スマッシュムーブを作成し、軽いキープレスと重いキープレスを認識するシステムを実装する方法を考えていますか?