ゲームの同じオブジェクトに2つの異なるアクションがあり、マウスをクリックしてクリックすると、デフォルトの入力(現在と最後のMouseState)を使用して、あなたが持っているときでさえ、クリックアクション。たとえば、ホールドを使用してオブジェクトを画面上にドラッグアンドドロップしますが、クリックすると消えます。移動するオブジェクトをクリックするとすぐに消えてしまい、望ましくない結果になります。XNAは同じオブジェクトを保持してクリックします
MouseState current, last;
public void Update(GameTime gameTime) {
current = Mouse.GetState();
bool clicked = current.LeftButton == ButtonState.Pressed && last.LeftButton == ButtonState.Released;
bool holding = current.LeftButton == ButtonState.Pressed;
if(clicked) vanishObject();
if(holding) moveObject(current.X, current.Y);
last = current;
}
私は「よりN秒を開催しました」とReleasedClickにワニスを入れて、フラグをチェックが、イベントの時間を変更すると、エレガントな解決策になるとは思われないためのフラグを使用してそれを解決するために考えました。何か案は?
私にはお答えいただきましたが、Pressイベントではなく、Releaseイベントのクリックを達成するために事実を変更した人はいません。 – Mephy