Jak používat C ++ pole v době spuštění a změnit hodnoty, které získal?

hlasů
0

Velmi nováček otázka zde.

Takže mám tento int pole a pomocí sfml Použil jsem tuto int pole mapování textur na obrazovku v mřížce, jako je struktura. Zajímalo by mě, jak byste jít o věděl, co square jste myš je uvedeno v poli v době spuštění.

int mapArr[] = { 
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0
}

^ Něco jako tak.

Takže pomocí něco jako níže změní vlevo nahoře nejvíce square na jinou texturu.

mapArr[0] = { 1 };

int mapArr[] = { 
1, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0
}

Tak jak bych implementovat založené na tom, zda jsem byla myš nad levém horním náměstí a chcete udělat něco podobného mapArr [0] = {1}; při běhu?

https://gist.github.com/jbax86/94ee0b326a30f4dd80efbb33791f6728

Položena 27/11/2018 v 17:52
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

// 25x15 array for 800x600 display are my settings.
int mapArr[];    

int MouseToMap(int x, int y, int val)
{
    mapArr[25 * y + x] = val;
};

// at a calling location inside main somewhere.  
// for sfml I put it in the event listening part of loop.
// 25 is tiles across not 0 indexed,
// 32 is tile width of tile in pixels.

sf::vector2i mVal = sf::Mouse::getPosition(window);
MouseToMap(mVal.x / 32, mVal.y / 32, 3);
Odpovězeno 17/12/2018 v 23:19
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more