Spero di non aver sbagliato sezione (forse andava nella sezione inerente il 3D?), nel caso così fosse chiedo venia...
...Ma veniamo a noi.
Oggi sono finalmente riuscito a fare il bel papozzo di roba necessario per esportare (con GM:Studio) i miei giochi su Mac. Tutto funziona alla grande: la chiave di licenza è ok, la connessione tra pc è stabile e con piacere noto che di "bug" durante la conversione ce ne sono relativamente pochi.
Questo, purtroppo, riguarda esclusivamente il 2d.
Ho provato a portare su Mac un gioco in 3D utilizzando l'engine di Imscared: l'ho adattato a GM:Studio grazie all'aiuto di Tiz, quindi il tutto funzionava alla grande su sistema Windows.
Quando vado a buildare su Mac, però, si presenta un fastidioso bug (che sembra insistere anche con diversi engine scaricari qua e là che utilizzano il mouse come "visuale"): la telecamera di gioco (solo in MacOS, sia chiaro) rimane puntata verso il basso (o verso l'alto) ruotando freneticamente. Tutto il resto funziona, ma il mouse è fuori controllo manco fosse impazzito.
Ponendo si trattasse di un problema delle funzioni mouse di GM:Studio, ho provato altri giochi che utilizzavano tale funzione: niente, funziona tutto alla grande ed il problema si presenta solo con i giochi che utilizzano il d3d.
Di seguito il mio draw event, dovesse essere utile per svelare l'arcano:
Codice: Seleziona tutto
{
var ss,cc,display_width,display_height,change_x,change_y,vector_x,vector_y,vector_z;
display_width = display_get_width();
display_height = display_get_height();
change_x = (display_mouse_get_x()-display_width/2)/15;
change_y = (display_mouse_get_y()-display_height/2)/15;
direction -= change_x;
zdirection += change_y;
zdirection = max(min(zdirection,80),-80);
ss = sin(degtorad(direction));
cc = cos(degtorad(direction));
vector_x = cc*cos(degtorad(-zdirection));
vector_y = ss*-cos(degtorad(-zdirection));
vector_z = sin(degtorad(-zdirection))+z+height;
display_mouse_set(display_width/2,display_height/2);
d3d_set_projection_ext(x,y,z+height,x+vector_x,y+vector_y,vector_z,0,0,1,55,640/480,1,100000);
draw_set_color(c_white);
draw_set_alpha(1);
}
Un grazie in anticipo per l'aiuto, ragazzi =)