у меня oldState - глобальная переменная и она меняет свое значение также, как и в твоем варианте - в конце метода Update
Код
public void Update()
{
state = Keyboard.GetState();
if (state.IsKeyDown(Keys.Space) && oldState.IsKeyUp(Keys.Space))
s_items[currItem].OnClick();
int delta = 0;
if (state.IsKeyDown(Keys.Up) && oldState.IsKeyUp(Keys.Up))
delta = -1;
if (state.IsKeyDown(Keys.Down) && oldState.IsKeyUp(Keys.Down))
delta = 1;
currItem += delta;
bool ok = false;
while (!ok)
{
if (currItem < 0)
currItem = s_items.Count - 1;
else if (currItem > s_items.Count - 1)
currItem = 0;
else if (s_items[currItem].active == false)
currItem += delta;
else ok = true;
}
oldState = state;
}
Добавлено (20.01.2014, 11:00)
---------------------------------------------
Archido, Ооо, я прозрел Я нашел способ все исправить! Благодарю