ボタンを押して離す機能を実装しようとしていますが、理由がわからないという結果が得られません。
public class Button
{
public TouchLocation oldTouch, currentTouch;
public virtual void Update(GameTime gameTime)
{
TouchCollection touchCollection = TouchPanel.GetState ();
if (touchCollection.Count > 0) {
currentTouch = touchCollection [0];
if (currentTouch.Position.X > position.X && currentTouch.Position.X < position.X + width &&
currentTouch.Position.Y > position.Y && currentTouch.Position.Y < position.Y + height) {
if (currentTouch.State == TouchLocationState.Released && oldTouch.State == TouchLocationState.Pressed) {
buttonEvent.Invoke (this, new EventArgs ());
}
}
}
oldTouch = currentTouch;
}
}
まず、以下のオブジェクトを割り当てます。
currentTouch = touchCollection [0];
私は得る
「型または引数の数が正しくありません」
ローカル デバッグ ウィンドウの値として赤色で表示されます (エラーはなく、赤色のテキスト値のみ)。
ただし、位置チェック IF ステートメントは正しく通過しますが、Pressed
/ Release
IF ステートメントは通過しません。に置き換えるcurrentTouch
とtouchCollection[0]
、すべてが期待どおりに機能します。
オブジェクトの使用/割り当てがTouchLocation
間違っていますか?
それとも、簡単な間違いを見落としているのでしょうか?