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

02.07.2009, 20:05

DirectX -> 2D - Level zerstören

Hi,
ich will für mein 2D Game zerstörbare Levels machen, also Planeten, wo, wenn die getroffen werden, einzelne Pixel entfernt werden, etwa so (Rot = Planet; Schwarz = nichts / Weltall):

(Link)

(Ich hoffe man kann alles erkennen)

Wie kann man das realisieren? Mit Sprites?

Danke im Voraus
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

Gotbread

Alter Hase

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

2

02.07.2009, 20:24

du hast eine (große) textur für den hintergrund. kann auch in einer platz-
sparenden variante mit z.b. einem bit abgelegt werden. entweder mit
shadern oder texturblending kachelst du dann eine textur drüber.

wenn du eine gewisse stelle zerstören willst, setzt du die textur als
rendertarget und renderst an der stelle ein quad rein. auf das quad
kommt eine textur, auf der z.b. ein kreis oder sowas drin ist (im alpha-
channel). wenn du das mit aktivierem alphablending renderst "verschwindet"
der kreis an der stelle und du hast ein loch
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

3

03.07.2009, 08:03

Sry, hab das nicht ganz verstanden -> bitte nochmal im klartext :D
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

4

03.07.2009, 08:41

Vom Prinzip her meinte er denke ich, dass du einfach für ein fehlendes Stück ein passendes bild erstellst und rendest das an die passende stelle über den rest. (wenn du wirklich nur einen schwarzen hintergrund hast). Ansonsten wird das dann schon etwas aufwändiger und du musst es so machen wie gotbread geschrieben hat. dann musst du ein bild mit alphachannel in die textur rendern und dann mittels alphablending die stelle unsichtbar machen.

fkrauthan

Supermoderator

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

5

03.07.2009, 10:19

Mann könnte auch den Stencil test dafür misbrauchen. Den sollte es ja auch in DirectX geben. Ich plane dies zutun für mein 2D Game. Allerdings mit OpenGL.
Homepage: fkrauthan.de | Browser-game: flowergame.net

6

03.07.2009, 12:51

OK, thx, jetzt hab ichs verstanden,
aber wie kann man generell eine "rundere" Map / zb. durch einen Mapgenerator erstellen,
geht das mit Sprites, Surfaces, oder was brauch ich dafuer :?:

Meine Idee waere es ja nur, die Map aus tausenden von Vierecken zu "bauen", aber das verbraucht dann extrem viel Speicher :D

mfg
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

7

03.07.2009, 12:56

In 2D machst du praktisch alles mit Texturen und Alphablending! (natürlich Multitexturing, und wo das nicht langt Shader)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

8

03.07.2009, 13:51

Thx, hast du dazu irgendwo ein Tutorial? Das wär' super :D
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

9

04.07.2009, 10:46

Ich denke das hier ist ziemlich genau das, was du suchst:
http://jnrdev.72dpiarmy.com/en/jnrdev5/

Werbeanzeige