[Allegro] Edytor map kafelkowych
Ostatnio zmodyfikowano 2012-03-06 20:42
poldek Temat założony przez niniejszego użytkownika |
[Allegro] Edytor map kafelkowych » 2012-03-04 09:41:57 Witam. Od dwóch dni próbuję zrobić Edytor Map wszystko idzie gładko dopóki nie wyświetlam mapy wtedy cały program tnie i nie mogę znaleźć przyczyny ,a tej metody rysowania używałem już wiele razy... Map.h #ifndef MAP_H #define MAP_H
#include <allegro.h> #include "Global.h" class Map { public: short int Mapa[ 100 ][ 100 ]; Map(); ~Map(); void Draw( BITMAP * bufor ); void clear( void ); };
#endif
Map.cpp #include "Map.h"
Map::Map() { }
Map::~Map() { }
void Map::Draw( BITMAP * bufor ) { for( int i = 0; i < 25; i++ ) { for( int a = 0; a < 20; a++ ) { if( Mapa[ a ][ i ] == 0 ) { rectfill( bufor, i * BlockSize, a * BlockSize, i * BlockSize + BlockSize, a * BlockSize + BlockSize, makecol( 100, 0, 0 ) ); } } } }
void Map::clear( void ) { for( int i = 0; i < 100; i++ ) for( int a = 0; a < 100; a++ ) Mapa[ i ][ a ] = 0; }
Cały projekt -> http://wrzucacz.pl/file/3391330850447 |
|
Chlorek |
» 2012-03-06 20:42:12 Szybkie odświeżanie całej mapy o sporych rozmiarach powoduje przycięcia programu. Można użyć Sleep()/rest po każdym wykonaniu pętli (co nie jest nazbyt dobrym rozwiązaniem) lub stworzyć wątek do renderowania mapy (dobre rozwiązanie przy dużych mapach i wszędzie tam gdzie będziesz robił dużo obliczeń w trakcie innych procesów programu), co do synchronizowania wątków to nie wiem co to dokładniej będzie więc nie powiem czy synchronizować, czy też nie. Jeśli będzie to gra to spróbuj synchronizować. |
|
« 1 » |