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

1

15.11.2013, 23:52

SDL eine Frage bezüglich Effekten

Hey Leute,

Habe mal wieder eine Frage zur SDL.

In meinem Spiel soll es Später Blitze geben, die auch Gegner treffen können.

Jetzt stellt sich für mich die frage, wenn ich ein Image fester größe für den Blitz habe, wie bekomme ich es hin, das der Blitz nicht über den Spieler dann hinausgeht?^^

Ich stelle mir das ganze mal so vor, das des Sprite des Blitzes 10x 200 sein wird, aber wenn der Spieler vom eigentlichen Blitz 300 entfernt ist, muss ich diesen wiederholen lassen, da wäre jetzt das problem, das dieser dann 100 über die y Achse hinaus gehen würde.

Kann mir jemand erklären, wie solche Effekte wie Blitze funktionieren, das diese immer dynamisch aussehen b.z.w genau am Objekt enden?

Kennt vielleicht jemand tutorials wo so etwas besprochen wird? Wäre super


Gruß Leri :)

DudeAwesome

Frischling

Beiträge: 5

Beruf: Informatik Student/Typo3Entwickler

  • Private Nachricht senden

2

16.11.2013, 01:07

Du könntest zB mehrere Sprites benutzen die eine unterschiedliche Länge haben und die richtige Grafik dann dynamisch je nach spielerposition ansprechen.


Ich würde aber einfach einen sehr langen Blitz erstellen der dann einfach über den Bildschirmrand gezeichnet wird.

3

16.11.2013, 08:27

Also je nach Grafikstil kannst du ja z.B. mit einfachen Linien arbeiten, die du zwischen dem Start- und Endpunkt ziehst. Dann nimmst du dir so viele Zwischenpunkte auf dieser Linie und verschiebst die zufällig, bis es deine gewünschte Komplexität erreicht hat. So hast du einen sehr einfachen, "dynamischen" Blitz mit festem Start und Endpunkt.

4

16.11.2013, 09:24

okay, werde es mal versuchen, so umzusetzen.


Hätte allerdings noch eine Frage bezüglich Quests

Ich hatte mir gedacht, einige kleine Quests in mein Spiel aufzunehmen, das nach und nach immer mehr dazu kommen sollen, spricht schon für ein dynamischen system dafür.

Meine Idee war z.b bringe ein Objekt von Position A nach Position B erhalte dabei ein Item und Beende die quest.

Wie würde sowas Programmiert werden, ich kann ja nicht einfach mal eine if bedingung austauschen, für jede neue Quest.

Switch abfragen, denke ich wären auch nicht sonderlich gut geeignet.

Wie sieht das ganze aus mit Skriptsprachen? kann man damit eventuell bestimmten, was in einer if Abfrage als Bedingung drinne steht?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

16.11.2013, 09:34

Meine Idee war z.b bringe ein Objekt von Position A nach Position B erhalte dabei ein Item und Beende die quest.

Wie würde sowas Programmiert werden, ich kann ja nicht einfach mal eine if bedingung austauschen, für jede neue Quest.

Alternative Möglichkeiten:
1) Du definierst Quest-Typen (z.B. kill X Monster, Gehe zu NPC Y, sammle Gegenstand Z) mit eigenen Parameter-Typen. Dann kannst du mehrere Quest-Typen in einer einzelnen Datei verwalten, indem Du nur den Typ und die Parameter in dieser Datei speicherst und ausliest.
2) Du bindest eine Script-Sprache ein, mit der man das Quest dann extern programmiert. Und nein, damit kannst Du nicht mal eben so bestimmen, was in Deinem if drin steht. Ich fürchte das Thema überfordert Dich aktuell noch etwas.
3) Du machst eine Kombination der beiden oben.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

6

16.11.2013, 10:50

ja ich denke, damit werde ich mich ein bisschen später auseinandersetzen, und erstmal so noch ein wenig rumprobieren.

danke für die antworten :)

Werbeanzeige