DisplaySprite3D und OpenWindowScreen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

kannst mal deine grafiken aufm webspace hochladen oder mir per mail schicken an romartens@arcor.de dann kann mans vernünftig testen !
Purebasic 5.0 32bit und 64 bit

I'm back from hell
keenhauberk
Beiträge: 8
Registriert: 14.03.2006 23:43

Beitrag von keenhauberk »

Ich habe gerade mal nachgeschaut, genau das ist deine Lösung: DisplaySprite3D(#Sprite3D, x, y, Transparency) also doch DisplaySprite3D(1,28,28,Transparency). Siehe: http://www.purebasic.com/documentation/ ... ite3d.html Jetzt wisst ihr auch warum ich so eine Documentation haben wollte.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Er will ja nur diese eine farbe tranzparent haben und nicht das ganze sprite!
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Beitrag von Ghosty1967 »

Es gibt "DisplaySprite3D(#Sprite3D,x,y,Transparenz)"... wobei Transparent=0 durchsichtig
und Transparent=255 undurchsichtig ist (irgendwie unlogisch *lol*) :freak: :mrgreen:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@keen

die darstellung einer einzigen transparenten farbe auf nem screen hat mit dem alpha-kanal nicht das geringste zu tun!


@ghosty

wenn es nur auf einem rechner nicht geht, kann es an dem leidigen 16bit problem liegen:
http://www.purebasic.fr/german/viewtopic.php?t=1094

probier mal, wirklich schwarz (0,0,0) als transparente farbe zu nehmen.

als ersatz für ein schwarz, das dargestellt werden soll, kannst du dann z.B. (8,8,8) verwenden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
keenhauberk
Beiträge: 8
Registriert: 14.03.2006 23:43

Beitrag von keenhauberk »

@Kaeru Gaman was denkst du eigentlich wo die Transparenz einer Farbe abgefragt wird? Du hast noch nie mit Java zeichnen müssen oder? Da lernst du die Wichtigkeit des Alphakanals für die Transparenz kennen. In java sieht das so aus Color background = new Color(int R, int G, int B, int Alpha); z.B. new Color(0,0,0,0) ist nichts oder new Color(0,0,0,64) ist durchsichtiges Schwarz wie es z.B. für Schatten verwendet wird.
keenhauberk
Beiträge: 8
Registriert: 14.03.2006 23:43

Beitrag von keenhauberk »

DisplayTransparentSprite().

As DisplaySprite() with one exception: all parts of the sprite in a specific colour will be treated as transparent (thus not be drawn).

You can change the 'transparency colour' with TransparentSpriteColor().

quelle: http://www.xs4all.nl/~bluez/datatalk/pure6.htm

Tipp: einfach mal öfters Google benutzen (und so selten wie möglich nach deutschen Begriffen suchen, die Deutschen haben wenig Ahnung und noch weniger Bock Hilfestellungen zu geben)
keenhauberk
Beiträge: 8
Registriert: 14.03.2006 23:43

Beitrag von keenhauberk »

@Kaeru: zu deiner Behauptung Transparenz habe nichts mit dem Alphakanal zu tun:

DisplayAlphaSprite().

Draws an alpha sprite at the specified location. The grey value of any pixel in the sprite darkens or lightens the background below the sprite, below 128 darkens, above 128 brightens.

color 0 is always considered transparent

use the #PB_Sprite_Alpha parameter
data must be in 8 bit format

Was denkst was mit dem Alphaparameter bestimmt wird?
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

das man mit dem alphakanal transparenz in pb realisieren kann ist kaeru mit sicherheit bewußt. die möglichkeit gibt es aber erst seit pb4 und kann nur mit Sprite3d benutzt werden.

DisplayAlphaSprite() ist für spezialeffekte (schatten/leuchten) und kann *nicht* mit normalen bildern genutzt werden, sondern nur mit graustufenbildern und ist allgemein ziemlich unnütz.

das kann man der anleitung die du da gepostet hast übrigens recht leicht entnehmen, wenn man mal drüber nachdenkt, dass bei dem *8bit* tiefen sprite <128 dunkler und >128 heller meint. da bleibt ja nicht mehr allzuviel raum für farbe.

auch kann ich mir keine imperative sprache vorstellen, die weiter von java entfernt ist als purebasic.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Zaphod:
das man mit dem alphakanal transparenz in pb realisieren kann ist kaeru mit sicherheit bewußt. die möglichkeit gibt es aber erst seit pb4 und kann nur mit Sprite3d benutzt werden.

Das ist so nicht ganz richtig es gib ja schließlich noch diesen befehl:

DrawAlphaImage(ImageID, x, y)
Description

Draw the specified image at the given x,y position. The image ID can be easily obtained by using the ImageID() command from the image library.

The image has to be loaded from a file which supports per pixel alpha channel like 32 bits PNG or 32 bits TIFF.
Supported OS

Windows
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Antworten