akwes |
» 2011-11-28 17:12:02 To może warto sobie zaplanować cały kod jakoś sensownie. Bo mouse_x i mouse_y pobierają odległość względem górnego lewego okna ekranu, zawsze, i zawsze jest to wartość aktualna jeżeli się korzysta z mouse_x i mouse_y, nigdy nie było z tym problemu ani ze zbyt wolnym poruszaniem się myszki. Być może nie aktualizujesz zmiennych, które przechowują jakieś informacje, co każdy obieg pętli? Nie pamiętam żebyś w swojej grze przesuwał ekran, ale jak przesuwasz to wypadałoby mieć klasę Kamera, która może podać wartość przesunięcia na x i na y, i klasa myszka to uwzględni. Masz wszystko upakowane w klasy? class TButton;
class TMysz { public: bool IsIn( TButton * ); bool IsPress( TButton * ); bool IsClick( TButton * ); };
bool TMysz::IsIn( TButton * button ) { if( mouse_x > button->Left && mouse_y > button->Top ) if( mouse_x < button->Left + button->Width && mouse_y < button->Top + button->Height ) return 1; return 0; }
bool TMysz::IsPress( Tbutton * button ) { if( IsIn() && mouse_b == 1 ) return 1; else return 0; }
bool TMysz::IsClick( TButton * button ) { if( IsIn() && mouse_b == 3 ) { button->Akcja(); return 1; } else return 0; }
class TButton { friend class TMysz; int Top; int Left; int Width; int Height; bool Visible; public: void Akcja(); void Rysuj(); }
void TButton::Rysuj() { if( Visible ) masked_blit(...); }
void TButton::Akcja() { if( Visible ) { } }
Na podobnym czymś pracowała moja gra w allegro 4.2 (nie mogę odkopać kodu na dysku) i z myszką nie było problemów. Sprawdziłem sobie Twój przykład, który podałeś... Wszystko tam działa :P |
|
CTRL85 Temat założony przez niniejszego użytkownika |
» 2011-11-28 19:13:07 U mnie właśnie nie działa... przy wolnym ruchu nie zmieniają się liczby... |
|
Gabes |
» 2011-11-28 19:27:00 Czy aby nie pozamieniałeś dll-ek z 4.4.0. na 4.4.2 albo tej pod msvc.
Mogą dziać się dziwne rzeczy gdy masz w systemie tę pod MinGW a kompilujesz pod msvc.
Miałem tak z Allegro 5.
|
|
CTRL85 Temat założony przez niniejszego użytkownika |
» 2011-11-28 19:47:57 Wyczyszę pozostałości z wersji 4.4 z C:/Windows, której nie mogłem zmusić do uruchomienia, i zobaczę, choć wątpię by cokolwiek to dało. |
|
akwes |
» 2011-11-28 19:50:31 Przykład, który wysłałeś z *.dll, który był w *.rar, działał u mnie bez zarzutu.
A to znaczy że jest to wina a) software b) hardware
Aby wykluczyć b) najlepiej postaw czystą maszynę wirtualną z czystym systemem i zobacz jak zachowuje się aplikacja. Jeżeli dalej wariuje to znaczy że winowajcą jest hardware, a jeżeli nie, to można myśleć co dalej. |
|
CTRL85 Temat założony przez niniejszego użytkownika |
» 2011-11-29 15:18:31 Wieczorkiem załaduje demko menu, i zobaczymy czy będzie działać, bo jak tak, to nie będę nad tym siedział, bo i tak preferuję klawiaturę :P
Swoją drogą już wierzę producentom gier, jak mówią, że robienie dem to masa roboty. xD |
|
Gabes |
» 2011-11-29 15:39:20 |
|
CTRL85 Temat założony przez niniejszego użytkownika |
» 2011-11-29 17:09:36 dodaj rest(20); lub _sleep(20); bo chyba nie widziałeś jak muli, i jakie zużycie procesora jest - też tak miałem. :P PS: Oszałamiająca rozdzielczość ;> EDIT: Miało być demo, ale jest BJ 1.3 z obsługą myszki w menu. :P Działa to dobrze? http://www.przeklej.pl/plik/blackjack-exe-0037ak9kg40i |
|
1 « 2 » 3 |