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
Zitat von »"fred2507"«
meiner meinung nach eignen sich vektorgrafiken zur bearbeitung da viel besser als pixelorientierte zeichenprogramme.
.
Zitat von »"fred2507"«
weiß nicht ob das nen richtigen namen hat. level sind halt als bilder gespeichert, kollision ist pixelbasiert mithilfe der coll.png. zum erstellen der level nutzte ich inkscape und ein grafiktablett. meiner meinung nach eignen sich vektorgrafiken zur bearbeitung da viel besser als pixelorientierte zeichenprogramme.
vorteil der weißen linien ist der minimierte rechenbedarf für die kollision, nachteil ist ein etwas höherer speicherverbrauch, welcher sich aber auch in grenzen hält, wenn man wie ich nur positionen der weißen pixel in einem array speichert und nicht alle pixelwerte.
selbst das größte level (level 6) benötigt so nur 64-128 MB Ram, und die hat ja mittlerweile wohl jeder.
idontknow
unregistriert
Zitat von »"fred2507"«
in der coll.png sind weiße linien zu erkennen. diese weißen pixel werden beim start des levels in ein array geladen,dann die coll.png released. füge ich nun der position des spielers ein geschwindigkeitsvektorü hinzu, überprüft ein algo, ob sich an der stelle mit einem gewissen radius kein weißer pixel befindet. erst dann wird die neue spielerposition gesetzt. soweit ganz einfach, doch was ist wenn der weg ungerade mit steigungen ist? das ist schon ein wenig komplizierter. befindet sich der spieler am boden und bewegt sich zur seite, wird eine stelle geprüft, die ein wenig über dem zielpixel liegt. ist diese stelle pasierbar wir die stelle darunter geprüft und immer so weiter, bis entweder normalhöhe wieder erreicht wurde oder eine kollision aufgetreten ist, an die der spieler dann gesetzt wird. bsp: der spieler soll sich am boden ein pixel nach rechts bewegen. ich prüfe dann die stelle ein pixel rechts und drei pixel oben vom spieler.
wenn keine kollision prüfe ich ein pixel rechts und zwei pixel oben vom spieler.
wenn keine kollision prüfe ich ein pixel rechts und ein pixe oben vom spieler.
wenn keine kollision prüfe ich ein pixel rechts vom spieler.
tritt aber eine kollision auf so wird nicht weiter geprüft. hoffe das prinzip des "treppensteigens" ist nun klar. runterwärts neigung ist nicht so kompliziert, das übernimmt die gravitation.
Zitat von »"Fabian Kock"«
Level 3 geschafft ohne einen gegner zu töten
idontknow
unregistriert
Zitat von »"idontknow"«
hmm. Das heißt du prüfst das gesamte Array ab?
der grenzt du das ein? Wenn ja wie?
mfg
Zitat von »"Hamster->"«
Wieso 2,097152 mb. Du musst durch 1024 teilen, also kommen exakt 2 mb heraus. Und ja durchaus okay.
Werbeanzeige