LoadSprite / Transparenz
Übersicht

Dirk KnoopBetreff: LoadSprite / Transparenz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich programmiere nun ja auch schon einige Jahre, kam bislang aber immer ohne Sprites aus. Ich möchte nun ein Hinterggrundbild (1024*768 Pixel) laden und anzeigen. Anschließend möchte ich ein anderes .png-Bild (800*600) Pixel laden und dieses mit 50 % Transparenz auf das zuvor angezeigte Hintergrundbild anzeigen. Das müsste ja irgendwie wie folgt gehen: Code: [AUSKLAPPEN] Graphics3D 1024,768,16,2 SetBuffer BackBuffer() camera=CreateCamera() hintergrund=LoadImage("hintergrund.png") sprite=LoadSprite("mein Gesicht.png") PositionEntity sprite,0,0,5 While Not KeyHit(1) Cls DrawImage hintergrund,0,0 RenderWorld Flip Wend End Nun zu meinen Problemen: 1. "DrawImage hintergrund,0,0" wird nicht ausgeführt, ich sehe nur einen schwarzen Hintergrund. 2. das Bild, welches transparent erscheinen soll, wird verzerrt dargestellt Wie muß ich das programmieren, daß sowohl der Hintergrund dargestellt wird und das sprite-Bild beispielsweise mit 50 % Transparenz an den x/y-Koodinaten 50,50 eines 2-dimensionalen Feldes angezeigt wird ? Vielen Dank schon einmal, Dirk Knoop |
||
www.kostenloser-fussballmanager.de
www.discaim.de - weil Spaß kein Zufall ist www.torchance.de - ein etwas anderer Fußball-Manager |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst CameraClsMode umstellen, wenn du 2D hinter 3D haben willst, weil sonst RenderWorld den 2D Backdrop einfach ausradieren wird. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
So:
Code: [AUSKLAPPEN] Graphics3D 1024,768,16,2
SetBuffer BackBuffer() camera=CreateCamera() hintergrund=loadsprite("bild1.jpg") PositionEntity hintergrund,0,0,2 sprite=LoadSprite("bild2.jpg") PositionEntity sprite,0,0,1 EntityAlpha sprite,0.5 While Not KeyHit(1) Cls ;DrawImage hintergrund,0,0 RenderWorld Flip Wend End MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
Dirk Knoop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Danke für Eure Antworten. Ich habe den Code einmal ausprobiert. Leider werden die Grafiken ein wenig vergrößert dargestellt. Bei dem Hintergrundbild, welches aus 1024*768 Pixel besteht, fehlt oben, unten, links und rechts immer ein Teil. Das Bild wird etwas vergrößert dargestellt, als es im Original ist. Bei dem kleinen ist das Bild breiter und höher als im Originalzustand. Was muß ich da machen, daß beide Bilder 1:1 angezeigt werden, also nicht vergrößert ? Gruß, Dirk Knoop |
||
www.kostenloser-fussballmanager.de
www.discaim.de - weil Spaß kein Zufall ist www.torchance.de - ein etwas anderer Fußball-Manager |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst das eine Sprite mit dem Bild etwas nach vorne setzten. Ich habe es einfach zum testen auf die Position 0,0,1 gesetzt. Wenn du es kleiner haben willst, setz es z.b. auf 0,0,1.5 oder so. Musst du ausprobieren. man kann das glaube ich auch irgendwie berechnen, aber das fällt mir gerade nicht ein.
MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] positionentity camera,0,0,-graphicswidth()/2
Glaub ich... ![]() |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
das kann es nicht sein, erstens wäre es hinter dem betrachter(der kamera) und zweitens bei 800x600 auf der position 300. das ist wohl zu weit weg... | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
Ensign Joe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also bei mir gehts viel einfacher:
Positionentity bild,0,0,graphicswidth() und dann kann man die sprites 1:1 mit der 2d-größe skalieren. Also Scalesprite bild,imagewidth/texturewidth,imageheight/textureheight ![]() |
||
Ich habe jetzt eine Pommesbude aufgemacht am Münchner Hauptbahnhof.
Und da ich Herbert Görgens heiße, heißt diese Pommesbude Herbert's Pommesbude ![]() |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier findest du ein Tut, welches sich genau mit dem problem des Positionierens von Sprites beschäftigt
LINK |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, Skey-Z. Sowas konnte ich gerade gebrauchen. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group