Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Przyciski - Edycja Przypisywanej Funkcji

Ostatnio zmodyfikowano 2024-09-11 18:48
Autor Wiadomość
tBane
Temat założony przez niniejszego użytkownika
[C++] Przyciski - Edycja Przypisywanej Funkcji
» 2024-09-11 17:49:59
Witam. Zdefiniowałem sobie przycisk i chciałbym przypisać do niego funkcję z dodatkową wartością czyli np.
menuButtons[3]->func = setTerrainObjectsToPalette + {selectedBtn = menuButtons[3];};


C/C++
class Button {
public:
   
   
sf::Vector2f position;
   
buttonState state;
   
std::function < void() > func;
   
   
Button() {
       
sprite = sf::Sprite();
       
state = buttonState::idle;
       
func = { };
   
}
   
   
// etc ...
};

// Przypisanie funkcji

menuButtons[ 3 ]->func = setTerrainObjectsToPalette;
menuButtons[ 2 ]->func = setFloorsObjectsToPalette;
menuButtons[ 1 ]->func = setFurnituresObjectsToPalette;
menuButtons[ 0 ]->func = setWallsObjectsToPalette;
P-181579
pekfos
» 2024-09-11 18:38:34
Opakuj w lambdę.
C/C++
menuButtons[ 3 ]->func =[ co ś ] { setTerrainObjectsToPalette(); selectedBtn = menuButtons[ 3 ]; };
Nie wiem jaki jest kontekst, więc capture sobie będziesz musiał dostosować.
P-181580
tBane
Temat założony przez niniejszego użytkownika
» 2024-09-11 18:48:37
Ok dzięki :-)

C/C++
menuButtons[ 0 ]->func =[ ]() {
   
selectedMenuButton = menuButtons[ 0 ];
   
selectedPaletteButton = nullptr;
   
prefabToPaint = nullptr;
   
setWallsObjectsToPalette();
};
P-181581
« 1 »
  Strona 1 z 1