Я делаю игру в javascript / html5. У меня есть кнопки, которые я рисую из листа спрайта. Я пытаюсь получить состояние наведения для кнопок, работающих правильно. В настоящее время состояние наведения отображается, когда наведена кнопка, но не отображается, если оно не наведено. Другими словами, поведение при наведении курсора.
Я прикрепил видео о поведении здесь:
https://youtu.be/VD9rPG-iXTA?list=PLS5mKRel38oYGFCd2YOT9ugHwomFtAUZu
Я уверен, что это проблема с моей логикой, но я ее не вижу. Вот мой код:
function checkButtonHover()
{
//Check for button hovers
for(var b=0; b<buttons.length; b++)
{
var button = buttons[b];
var select = null;
//If poiint collision with button
if(hitTestPoint(mouseX,mouseY,button))
{
//Assign select sprite art
select = new Sprite("select",190,237,20,20,button.x,button.y,1,true,false,false);
//Add select to sprites so that it get drawn in render()
sprites.push(select);
}
else
{
//If there isn't a collision but select has a value
if(select !== null)
{
select.visible = false;
removeObject(select,sprites);
//Reset select to null
select = null;
}
}
}
}
Любая помощь очень ценится.
UPDATE
После часов исчерпывающих экспериментов. Я, наконец, решил проблему путём взлома самих объектов кнопки, а затем в checkButtonHover () я просто установил button.select.visible в значение true, если его перевернуть, и false в противном случае.
Спасибо всем, кто зашел, чтобы прочитать этот вопрос, и тем, кто почесал голову, пытаясь найти решение.