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

11

04.05.2004, 18:35

Hmm ja, so in der Art könnte es funktionieren. Wobei ich den Rand der Maske ja nicht mal verschwinden lassen müsste, den kann ich ja auch in der Hintergrundfarbe machen, dann fällt das gar nicht auf.

Da muss ich mich morgen mal damit beschäftigen.

Danke mal so weit.
MACHINE HEAD RULES!!!

Doniel

Frischling

Beiträge: 29

Wohnort: Erbach im Rheingau

Beruf: Schüler

  • Private Nachricht senden

12

04.05.2004, 20:30

Wenn du es dir richtig einfach machen willst, dann zeichne doch zuerst alle Steine und dann darüber das Spielgerüst, welches dann natürlich nur runde Löcher hat.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

13

04.05.2004, 20:42

Da du es ja ohne Direct X machen willst:
schau mal hier nach, ist dort ausführlich erklärt ;)

http://www.scherfgen-software.net/forum/viewtopic.php?t=1003

Außerdem dürften dir die Links weiter unten weiter helfen. Die VCL Bibliothek würde ich dir nicht empfehlen anzusprechen. Ist zwar einfach damit etwas zu machen aber viel viel zu langsam.

Zum arbeiten mit der VCL: du erstellst ein Bild als Objekt auf deinem Fenster (FORM - Objekt). Dieses benennst du zum Beispiel: HUD_PIC_1
Wenn ich mich nicht irre wird dann eine solche Instanz erstellt, und du kannst im Programmtext mit HUD_Pic_1. ... drauf zugreifen. Eigenschaften sind unter anderem auch left und top, ich glaub noch weight und height. Bin mir aber nicht so sicher, hab schon ewig nicht mehr mit Borland programmiert.

Wie gesagt die Methode oben mit den Masken ist aber wesentlich schneller. Schneller geht es dann nur noch mit einer ordentlichen Graphikschnittstelle wie Direct X

miko93

Frischling

Beiträge: 14

Wohnort: Regensburg

  • Private Nachricht senden

14

05.05.2004, 19:05

Da ist mir gerade eingefallen, dass ich mit transparenten Bitmaps (ohne DirectX) auch 'mal etwas gemacht habe. Vielleicht hilft Dir das ein wenig: http://www.mikoweb.de/pcpage/CTransBmp/ctransbmp.php

Viel Glück.

Edit: Hopsa, Du suchst ja eher was für C++ Builder / VCL . Hm, naja.

15

06.05.2004, 15:26

So, aus nem anderen Forum hab ich das hier:

Quellcode

1
2
3
4
5
6
Graphics::TBitmap* bitmap = new Graphics::TBitmap; 
bitmap->LoadFromFile("einbild.bmp"); 
HRGN hRgn = CreateEllipticRgn(30, 30, 170,170); 
SelectClipRgn(Canvas->Handle, hRgn); 
Canvas->Draw(0, 0, bitmap); 
delete bitmap;


So funktioniert es unter C++ Builder! :wirbel:

Aber trotzdem Danke für eure Antworten. Das kann ich sicher mal brauchen, denn ich habe nicht vor für immer mit C++ Builder zu arbeiten!
MACHINE HEAD RULES!!!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

06.05.2004, 18:05

das mit regions is win api und funzt deshalb nicht nur im c++ builder.
ich würd dir aber davon abraten und sprites über BitBlt() ( mit maske ) oder TransparentBlt() zeichnen.
mein gefühl sagt mir das das performanter is.

17

06.05.2004, 21:23

Ach so, das ist gut - und gut zu wissen! ;)

Dass die andere Methode performanter ist glaube ich dir gerne, aber so lahm , dass es bei 4 Gewinnt eine Rolle spielt wird es mit den Regions nicht sein, oder seh ich das falsch?

Trotzdem danke für den Tip, vielleicht mache ich ja mal Perfomance-Hungrige Spiele wie Tetris... ;)
MACHINE HEAD RULES!!!

Werbeanzeige