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

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

11

21.06.2012, 12:52

ich gehe mal davon aus, dass Cross.x und Cross.y die Mauskoordinaten darstellen
da die Funktion mehrmals aufgerufen wird (mit zeitlichen Abständen), kann sich zwischen den Aufrufen die Mausposition verändern
es scheint so, als würdest du jedes Mal die aktuelle Mausposition übergeben

für eine korrekte Berechnung muss du aber für jedes Projektil die Richtung speichern, in die es sich bewegen soll
dies könntest du machen, indem du zusätzlich zu den Koordinaten des Projektils die Koordinaten des Schießers und der Maus speicherst
allerdings hängt in dem Fall die Geschwindigkeit des Projektils vom Abstand der beiden ab
dies kannst du vermeiden, indem du entweder einen Winkel speicherst und mit diesm rechnest oder indem du die Differenzen der X- und Y- Koordinaten unter Berücksichtigung der Entfernung verwendest
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

12

21.06.2012, 13:48

Und wenn nach ein bis zwei Stunden keiner geantwortet hat, dann warte ruhig noch etwas ab;) Manchmal kann es auch ein bis mehrere Tage dauern bis jemand antwortet. Die meisten sind in der Schule, bei der Arbeit, in der Uni oder irgendwo anders unterwegs und gucken hier nicht rund um die Uhr rein;) Von daher einfach etwas abwarten.
Die Antwort auf deine Frage hast du ja schon bekommen. Du kannst deinen Kugeln beim erzeugen halt die Mauskoordinaten mitgeben und dann könntest du theoretisch direkt die Werte berechnen, um die pro Frame verschoben werden muss. Ob du jetzt einen Winkel und eine Fluggeschwindigkeit hast, oder ob du direkt x- und y-Verschiebung berechnest ist ja relativ egal. Das Problem bei deiner Version sollte aber klar sein. Hat Sacaldur ja gut beschrieben.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

13

21.06.2012, 15:47

Danke erstmal für die Antworten :)
Hmm ja das ich die Koordinate speichern müsste hab ich mir schon gedacht.
Hmm ich schau mir das mal gleich an mit dem Speichern...
Aber was interessant ist, ist das mit den Winkeln.
Wie kann ich denn dem Objekt sagen flieg in diesem Winkel?(und dann z.b. mit konstanter Gechwindigkeit)

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

14

21.06.2012, 17:01

du kannst dem Objekt nicht sagen "Bewege dich im Winkel von #° mit einer Geschwindigkeit von #Pixel/s"
bisher hast du es auch so gemacht, dass du jedes Mal die Position des Objekts an eine andere Stelle setzt
diese hast du errechnet, indem du den Abstand der X- und Y-Koordinaten zwischen Schießer und Mausposition errechnet hast und davon einen gewissen Anteil zur Position des Objekts hinzugefügt hast
würdest du einen Winkel speichern, müsstest du dir "lediglich" errechnen, wie sehr sich die X- und Y-Koordinaten verändern und das Ergebnis mit der Geschwindigkeit multiplizieren (und das zur Position des Objekts addieren)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

15

21.06.2012, 17:25

Danke, ich werde mich mal dransetzen und mir den Kopf drüber zerbrechen wie ich das dann am besten mache ;)

RmbRT

Treue Seele

Beiträge: 169

Wohnort: Darmstadt

Beruf: Student

  • Private Nachricht senden

16

21.06.2012, 18:56

Fehlpost, habe auf was ganz anderes antworten wollen ;) :pinch:
"Dumm ist, wer dummes tut."

17

22.06.2012, 10:39

OK meine nächste Frage:

Wie sage ich einer Bitmap DAtei, das sie über allen anderen liegen soll?
Habe z.b. eine Tür eingefügt und wenn ich mit meinem Character drüberlaufe, stehe ich hinter ihr anstatt vor ihr.
Das glecihe gilt für mein Corsshair, dieses sollte ja überhaupt über allem liegen.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

18

22.06.2012, 10:52

und auch hier kannst du nicht einfach eine Reihenfolge sagen, in der die Bilder dargestellt werden sollen.

bedenke: wenn du ein Bild zeichnen lässt, dann wird dieses an der angegebenen Position komplett eingefügt.
alle darunter liegenden Zeichnungen werden also überdeckt (eine Ausnahme ist es, wenn das zu zeichnende Bild teilweise oder ganz transparent ist)
das heißt, dass ein Bild, welches "über allen anderen liegen soll", als letztes gezeichnet werden muss
oder andersrum: das "unterste" Bild muss zuerst gezeichnet werden (gefolgt von dem darüber liegendem und dem darüber liegendem ...)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

19

22.06.2012, 12:46

ok danke werde dies gleich mal versuchen.

20

23.06.2012, 21:23

und ein weiteres Problem....

Möchte das Projekt gerne als Setup datei compilen, damit es auf dem rechner von nem Freund funktioniert.
Eigneltich weiß ich auch wie das geht, Projektmappe-->Hinzufügen-->Neues Projekt-->Visual Studio Installer--> Setup Assistent,
dann wähle ich eben alles aus, "include" meine Bilder,Sounds....
weiter, fertig und dann rechtsklick und erstellen, dann sind in diesem release orndner eine setup und eine msi datei.
Wenn ich das Spiel nun aber installiere und auf die exe drücke kommt die Meldung:
Blablabla libgcc_s_dw2-1.dll konnte nicht gefunden werden.
Wenn ich diese dann nehme und einfach in den Ordner der exe kopiere kommt eine weitere Meldung:
Blablabla libstdc++-6.dll konnte nicht gefunden werden
wenn ich dann diese reinkopiere und die exe starte, dann startet zumindest kurz mein fenster danach kommt aber gleich:
.... funktioniert nicht mehr und ich kann auswählen: schließen,debuggen,online nach lösung suchen....

Weiß jemand was ich falsch mache?

Werbeanzeige