Созданные ответы форума
Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
-
АвторСообщения
-
Чувак, это божественно :DD
Файл как с урока запускается, а от файлы, которые создал сам-нет. Что делать? Пишет что “нету тайлов” хотя я указал путь в tmx файле. Даж не знаю что делать-то…
Всё, вот вам полностью реализованный инвентарь. a,b,c,d заранее оглашены в int main()
C++1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192if (event.type == Event::MouseButtonPressed)//если нажата клавиша мышиif (event.key.code == Mouse::Left)//а именно леваяif (pos.x>view.getCenter().x+312&&pos.y>view.getCenter().y-89&&(pos.x<(view.getCenter().x+312)+11*34)&&(pos.y<(view.getCenter().y-89)+7*43)){for (int i = floor((pos.y-view.getCenter().y-89) / 43);i<7; i++)////if(il!=i)if(act)for (int j = floor((pos.x-(view.getCenter().x+312 ))/ 34);j<11; j++)a=floor((pos.y-(view.getCenter().y-89))/43);b=floor((pos.x-(view.getCenter().x+312 ))/ 34);//if(j!=jl||i!=il)if (TileInventory[a][b] == '0'){z='0';isMove = true;}if (TileInventory[a][b] == 's'){z='s';isMove = true;}if (TileInventory[a][b] == 'h'){z='h';isMove = true;}if (TileInventory[a][b] == 'f'){z='f';isMove = true;}if (TileInventory[a][b] == 'b'){z='b';isMove = true;}if (TileInventory[a][b] == 'l'){z='l';isMove = true;}if (TileInventory[a][b] == 'p'){z='p';isMove = true;}if (TileInventory[a][b] == 'n'){z='n';isMove = true;}TileInventory[a][b] = ' ';}}if (event.type == Event::MouseButtonReleased)//если отпустили клавишуif (event.key.code == Mouse::Left){ //а именно левуюisMove = false; //то не можем двигать спрайif (pos.x>view.getCenter().x+312&&pos.y>view.getCenter().y-89&&(pos.x<(view.getCenter().x+312)+11*34)&&(pos.y<(view.getCenter().y-89)+7*43)){for (int i = floor((pos.y-view.getCenter().y-89) / 43);i<7; i++)//for (int j = floor((pos.x-(view.getCenter().x+312 ))/ 34);j<11; j++)c=floor((pos.y-(view.getCenter().y-89))/43);d=floor((pos.x-(view.getCenter().x+312 ))/ 34);TileInventory[c][d] = z;}else TileInventory[a][b] = z;}Реализовал взаимодействие со всеми иконками,теперь при нажатии на иконку она изменяется на белую По мере разработки буду дополнять код.
C++1234567891011121314151617181920212223242526272829303132333435if (event.type == Event::MouseButtonPressed)//если нажата клавиша мышиif (event.key.code == Mouse::Left)//а именно леваяif (pos.x>view.getCenter().x+312&&pos.y>view.getCenter().y-89&&(pos.x<(view.getCenter().x+312)+11*34)&&(pos.y<(view.getCenter().y-89)+7*43)){if(act){if(act)for (int i = floor((pos.y-view.getCenter().y-89) / 43);i<7; i++)////if(il!=i)if(act)for (int j = floor((pos.x-(view.getCenter().x+312 ))/ 34);j<11; j++)a=floor((pos.y-(view.getCenter().y-89))/43);b=floor((pos.x-(view.getCenter().x+312 ))/ 34);//if(j!=jl||i!=il)if (((TileInventory[a][b] == '0')||(TileInventory[a][b] == 's')||(TileInventory[a][b] == 'h')||(TileInventory[a][b] == 'f')||(TileInventory[a][b] == 'b')||(TileInventory[a][b] == 'l')||(TileInventory[a][b] == 'p')||(TileInventory[a][b] == 'n'))){//jl=j;TileInventory[a][b] = ' ';act=false;// dX = pos.x - (view.getCenter().x + 312)+j*34;//делаем разность между позицией курсора и спрайта.для корректировки нажатия// dY = pos.y - (view.getCenter().y-89)+i*43;//тоже самое по игрекуgoto U;isMove = true;//можем двигать спрайт}}break;}break;U:if (event.type == Event::MouseButtonReleased)if (event.key.code == Mouse::Left)act=true;isMove = false;} -
АвторСообщения
Просмотр 4 сообщений - с 1 по 4 (из 4 всего)