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

moritz31

Treue Seele

  • »moritz31« ist der Autor dieses Themas

Beiträge: 259

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

1

03.03.2011, 17:04

C++ SFML Kollision

Hi Leute,
progge immer noch an meinem ersten Spiel und hab ein Problem mit der Kollsion zwischen
Panzer und Bombe.
Hab keine genaueren Vorstellungen wie das gehen soll.
Hatte mir folgendes überlegt:

C-/C++-Quelltext

1
2
3
4
if(Bombe.GetPosition().x,Bombe.GetPosition().y == Panzer.GetPosition().x,Panzer.GetPosition().y)
{
//Anweisungen
}


hatte aber nicht funktioniert.

Könnt ihr mir vielleicht Ratschläge geben wie man sowas am besten löst?

Gruß
Moritz

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

2

03.03.2011, 17:11

Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

3

04.03.2011, 11:26

:D gut gültiges C++ sollte das sein, aber:

C-/C++-Quelltext

1
if(Bombe.GetPosition().x,Bombe.GetPosition().y == Panzer.GetPosition().x,Panzer.GetPosition().y)

das ist in dem Fall das selbe wie

C-/C++-Quelltext

1
if (Panzer.GetPosition().y)
... bzw Bombe.GetPosition().x und der Vergleich werden auch ausgeführt, aber das letzte nur zurück gegeben, in dem fall heißt das, solange true bis Panzer.y == 0 ;)

[edit]Okay weiß grad nicht ob operator, oder operator == stärker bindet, kann sein, das er sogar Bome.y und Panzer.y vergleicht ;) [/edit]
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

4

04.03.2011, 11:32

/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »E333« (02.09.2021, 04:10)


5

04.03.2011, 22:44

das am wenigsten ... jenachdem ob == stärker bindet als operator, ... generell gilt bei operator, wird von links nach rechts abgearbeitet, es sei denn dieser wurde überladen:

bei == stärker als operator,

C-/C++-Quelltext

1
2
3
Bombe.GetPosition().x;
Bombe.GetPosition().y == Panzer.GetPosition().x;
if (Panzer.GetPosition().y)
wäre damit gleichbedeutend.

bei, stärker als ==

C-/C++-Quelltext

1
2
3
Bombe.GetPosition().x;
Panzer.GetPosition().x;
if (Bombe.GetPosition().y == Panzer.GetPosition().y) 
wobei es soweit ich weiß so is wie beim ersten Beispiel.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige