Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

1

19.05.2010, 10:30

Ein Ball abschießen. [SFML]?

Hy,

Ich bin gerade dabei ein kleines 2D Spiel zu machen.
Mein Problem:

Ich weiß nicht wie man einen Ball(Sprite) genau dort abschießen lässt wo sich gerade Spieler1 befindet.
Ich möchte den Ball vom inneren des Spieler1(eigentlich nur ein Brett wie aus Ping Pong) heraus schleudern lassen.
Was ich schon weiß ist, sobald der Ball abgeschossen wurde, wie er dann weiterfliegt etc.
Ich weiß auch wie man das Event auslöst.
Was ich wissen will ist, wie man die Koordinaten vom Spieler1 ermittelt (X,Y) und dann dem Ball
sagt, dass er ab diesem Key.Event gerendert werden soll. :!: :!: :!:


DANKE, schon mal. ^^
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

2

19.05.2010, 10:33

C-/C++-Quelltext

1
2
Spieler1.GetPosition(); // liefert einen Vector2 
Ball.SetPosition(x, y);
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

3

19.05.2010, 10:48

na ne.
Also im Grunde ist das schon richtig, aber wenn ich das ca. genau so rein tipp, dann geht das ne.
Ich muss den Vektor von Spieler1 doch irgendwo speichern.
Nehmen wir an, dass ich die 2 Variablen an Set.Position übergebe, dann würde da nichts passieren, weil die ja nichts enthalten(logisch).
Aber wenn ich probier das Ergebnis von Getposition in x und y (float) zu speichern, dann kommt:

"Geht ne, weil sf::irgendwas const ne in float zu konvertieren ist"

Wie speicher ich den Vektor ab etc. :S
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

4

19.05.2010, 10:51

C-/C++-Quelltext

1
2
3
Vector2f pos = Spieler1.GetPosition(); 
// oder 
Vector2i pos = Spieler1.GetPosition();


Eins von Beiden, hab es jetzt nicht 100%ig im Kopf, aber so funktioniert es auf jeden Fall.

C-/C++-Quelltext

1
Ball.SetPosition(pos.x, pos.y);
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

5

19.05.2010, 10:59

geht!
naja, bissl muss noch gemacht werden, aber es geht.
Achso, Vector2f war es.

Danke. :thumbsup:
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

6

19.05.2010, 11:17

Ich hab noch ne kurze Frage....
Die Kolisions Abfrage das bein Player ne ständig aus dem Bild läuft...? :rolleyes:
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

7

19.05.2010, 11:38

C-/C++-Quelltext

1
2
if(Player1.x + Player1.width >= Screenwidth)
    Player.SetPosition(xOld, y); 


Das funktioniert so nicht, es soll nur zeigen, wie man es macht. Aber ich denke das solltest du hinkriegen.
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

8

19.05.2010, 11:53

jup.
Danke.
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

Werbeanzeige