Zitat:
Zitat von Tobirousch
Heyleute bin neu hier..und wollt mal fragen ob mir einer weiterhelfen kann
ich hab bei PB(purebasics) ein game programmiert...nix großes nurn kleines 2d spiel
in dem hab ich folgendes problem: ich hab nen sprite eingeladen der sozusagen eine kanonenkugel ist..und wenn ich ne bestimmte taste drücke feuert die sozusagen ab..nun will ich, das wenn ich das 2. mal die selbe taste drücke dieser sprite wieder an der stelle wo ich ihn eingeladen habe bzw in der pistole mehr oder weniger wieder neu geladen wird und wieder schißt...so das ich durchgängis schießen kann ohne für jeden schuss eine neue taste brauch
ich hoff ihr habt ne idee sonst weis ich nix mehr..der der mir programmieren beibringt weis leider sebst nicht weiter
|
Hmm ka ob ich es richitg verstanden habe.
Aber hol dir immer den Status von einer Taste(ob sie losgelassen wurde).Z.B. Space in eine bool Variable.
Das prüfst du dann, auf true und, falls es true ist, dann erstellt du einen neuen Schuss.
Würde ich so angehen.Habe jetzt nciht so die Ahnung von PB.
Gruß
Edit:
ich habe es so ähnlich in meinem Spiel geregelt.Der Schuss wird dann in eine Liste geschoben, die durchgehe ich dann ncohmal und update und rendere jeden Schuss.
Hier der Codeausschnitt:
//"make" shot if spacebar was press
if(m_Window->GetInput().IsKeyDown(sf::Key::Space) && spaceDown == false)
{
m_Shot = new Shot(m_Window, m_PlayerSprite.GetPosition());
m_ShotList.push_back(m_Shot);
}
//is spacekey up?
spaceDown = m_Window->GetInput().IsKeyDown(sf::Key::Space);