Vielleicht solltest du dann den Mauszieger unsichtbar machen. Dann erstellst du eine Liste von Daten, wo die buttons sind. Wenn dann joy_force.y über 10 ist oder so, springt zum Beispielt mouse_pos.x und mouse_pos.y zu einem button darunter.
Die Daten könntest du in einem array speichern.
#define MENU_MAIN 1
#define MENU_OPTIONS 2
VECTOR mainmenupositions[9];
function initbuttonpositions()
{
vec_set(mainmenupositions[0]=vector(500,100,0);
vec_set(mainmenupositions[1]=vector(500,200,0);
.....
}
function joystickmenuloop()
{
while(1)
{
if(var_CurrentMenu==MENU_MAIN && joy_force.y>=10)
{
mouse_pos.x=mainmenupositions[var_CurrentPosition.x+1];
mouse_pos.y=mainmenupositions[var_CurrentPosition.y+1];
}
if(var_CurrentMenu==MENU_MAIN && joy_force.y<=-10)
{
mouse_pos.x=mainmenupositions[var_CurrentPosition.x-1];
mouse_pos.y=mainmenupositions[var_CurrentPosition.y-1];
}
......
}
}
function optionsmenufunction()
{
var_CurrentMenu==MENU_OPTIONS;
.....
}
function mainmenufunction()
{
var_CurrentMenu==MENU_MAIN;
.........
}
Irgendwie so sollte das möglich sein.