sprites ist durchsichtig irgend etwas läuft falsch

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

dimaster

Betreff: sprites ist durchsichtig irgend etwas läuft falsch

BeitragDo, Apr 29, 2004 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
warum ist mein sprite transparent:?: wie mache ich das es fest wird Question













danke für hilfe schon vorher
  • Zuletzt bearbeitet von dimaster am Do, Apr 29, 2004 21:04, insgesamt einmal bearbeitet

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragDo, Apr 29, 2004 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm... könntest du das Problem etwas genauer beschreiben?
Was für ein Sprite? Wie lädst du es? Was meinst du mit "fest"?
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com |
www.CarnageContest.com | www.Stranded3.com

dimaster

BeitragDo, Apr 29, 2004 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab das so geladen:
Code: [AUSKLAPPEN]

sprite=LoadSprite("gfx/p.bmp")
ScaleSprite sprite,-32,-32
PositionEntity sprite,((ppx-scrollx)*2)-640+32,-((ppy-scrolly)*2)+480-32,640

Wild-Storm

BeitragDo, Apr 29, 2004 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm, was hat transparenz mit fest zu tun? Laughing
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875

dimaster

BeitragDo, Apr 29, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
mit fest meine ich nicht durchsichtig
 

Dreamora

BeitragDo, Apr 29, 2004 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hat deine Textur nen Alphawert? bzw. nen alphalayer? Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Edlothiol

BeitragDo, Apr 29, 2004 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
ähm, was hat transparenz mit fest zu tun?
Hm, vielleicht Wasser=Transparent | Wasser=Flüssig => Gegenteil von Transparent = Gegenteil von Flüssig = Fest Idea Laughing
Damit das nicht zu OT wird: Ich kenn mich mit 3D nicht sonderlich aus und ich weiß auch nicht was der Standard - Modus - Parameter von LoadSprite ist, aber versuch doch malCode: [AUSKLAPPEN]
sprite=LoadSprite("gfx/p.bmp",1)


Edit: Oh, vielleicht hätte ich schneller posten sollen...

dimaster

BeitragDo, Apr 29, 2004 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
da geht nichts!mit transparent meine ich durchsichtig
 

Dreamora

BeitragDo, Apr 29, 2004 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
dann hat deine Textur nen Alphalayer oder du hast EntityAlpha verändert bzw. TextureBlend

ansonsten wird der Sprite nicht transparent
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

dimaster

BeitragDo, Apr 29, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
vieleicht ligts an kamera einstellung:Code: [AUSKLAPPEN]
cam=CreateCamera()
CameraClsMode cam,0,1
CameraRange cam,1,700
PositionEntity cam,3,3,-5
 

Dreamora

BeitragDo, Apr 29, 2004 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
fragen wir anders

is der sprite durchsichtig oder siehst du überhaupt nix?

sprich hast du renderworld und flip?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

dimaster

BeitragDo, Apr 29, 2004 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich hab renderword und flip und der sprite ist durchsichtig
 

Dreamora

BeitragDo, Apr 29, 2004 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann hat wie gesagt entweder die Textur nen Alphalayer, du hast Textureblend textur, 1 genommen oder EntityAlpha Sprite, X# mit x < 1 genommen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

dimaster

BeitragDo, Apr 29, 2004 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
aber da ist nichts von dem hier mal der ganze code:
Code: [AUSKLAPPEN]

Graphics3D 640,480,16
SetBuffer BackBuffer()
Dim schuss#(50,3)
Dim shot(50)
Dim map(200,200)
tile = LoadAnimImage("gfx/tileset2.bmp",32,32,0,47)

load()

px=9 ;x-koord des players für kollision
py=8 ;y-koord des players für kollision
ppx=9*32 ;x-koord des players
ppy=8*32 ;y-koord des players
xa#=2.38
ya#=2

AutoMidHandle True



;Fehler liegt glaube ich hier

cam=CreateCamera()
CameraClsMode cam,0,1
CameraRange cam,1,700
PositionEntity cam,3,3,-5



sprite=LoadSprite("gfx/p.bmp")
ScaleSprite sprite,-32,-32
PositionEntity sprite,((ppx-scrollx)*2)-640+32,-((ppy-scrolly)*2)+480-32,640

;#################

maus = LoadImage("gfx/maus1.bmp")

While Not KeyHit(1)
Cls

For y=0 To 200
For x=0 To 200
DrawImage tile,x*32-scrollx,y*32-scrolly,map(x,y)
Next
Next

mx# = MouseX()
my# = MouseY()
winkel = ATan2(mx-288,256-my)
RotateSprite sprite,winkel*-1
PositionEntity sprite,((ppx-scrollx)*2)-640+32,-((ppy-scrolly)*2)+480-32,640

If zap>0 Then ; wenn taste gedrückt wurde
If move=1 ; wenn die cursor-taste oben gedrückt wurde
scrolly=scrolly-2 ;dann scrolle die map nach oben
ppy=ppy-2 ;dann scrolle player nach oben
q=q+1 ;q=q+1
If q=16 Then ;wenn q=16
zap=0 ;dann ist bewegung zu ende
q=0 ;q=0
py=py-1 ;kollisionsdaten des players werden aktualisiert
EndIf
EndIf
If move=2
scrolly=scrolly+2
ppy=ppy+2
q=q+1
If q=16 Then
zap=0
q=0
py=py+1
EndIf
EndIf
If move=3
scrollx=scrollx-2
ppx=ppx-2
q=q+1
If q=16 Then
zap=0
q=0
px=px-1
EndIf
EndIf
If move=4
scrollx=scrollx+2
ppx=ppx+2
q=q+1
If q=16 Then
zap=0
q=0
px=px+1
EndIf
EndIf
EndIf

If KeyDown(200) Then
If map(px,py-1)<7 Then
If zap<1 Then
move=1 ;move=1 - oben
zap=1 ;move=2 - unten
frame=2 ;move=3 - links
EndIf ;move=4 - rechts
EndIf
EndIf
If KeyDown(208) Then
If map(px,py+1)<7 Then
If zap<1 Then
move=2
zap=1
frame=3
EndIf
EndIf
EndIf
If KeyDown(203) Then
If map(px-1,py)<7 Then
If zap<1 Then
move=3
zap=1
frame=1
EndIf
EndIf
EndIf
If KeyDown(205) Then
If map(px+1,py)<7 Then
If zap<1 Then
move=4
zap=1
frame=0
EndIf
EndIf
EndIf
DrawImage maus,MouseX(),MouseY()
If MouseHit(1)
nr=nr+1
snr=snr+1
schuss(nr,0)=1
schuss(nr,1)=xa
schuss(nr,2)=ya
schuss(nr,3)=winkel-90
shot(nr)=LoadSprite("gfx/kugel.bmp")
ScaleSprite shot(nr),0.1,0.1
EndIf

If nr=50 Then nr=0

For i=0 To 50
If schuss(i,0)=1
PositionEntity shot(i),schuss(i,1),schuss(i,2),5
schuss(i,1)=schuss(i,1)+(Cos(schuss(i,3))/10)
schuss(i,2)=schuss(i,2)-(Sin(schuss(i,3))/10)
EndIf
Next

UpdateWorld
RenderWorld
Flip
Wend
Function load()
karte$ = ReadFile("map1.map")
For x = 0 To 200
For y = 0 To 200
tile = ReadLine(karte$)
map(x,y) = ReadInt(karte$)
Next
Next
CloseFile(karte$)
End Function
 

Dreamora

BeitragDo, Apr 29, 2004 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hasu schonma wat von einrücken gehört? Smile

LoadSprite( Kugel ) in der Loop?
Den solltest du davor laden und nachher einfach kopieren über copyentity

Denke das Problem kommt vom CamCLSMode

gibts irgend einen Grund warum du die Tiefendaten ( zBuffer ) löscht, die Farben jedoch nicht? Smile
Auf die Images hat das eh keine Auswirkung da die Cam die garnicht sieht

am einfachsten den CamCLSMode garnet ändern und dann ma gucken ( hättest du übrigens selbst ma testen können )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragDo, Apr 29, 2004 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist in deiner Spritetexture sw drin ?

@Dreamora

Wenn man nicht will das bei Renderworld der Bildschirm
gelöscht wird kann man es selber mit cls machen das ist der
Grund . Hat er ja auch richtig gemacht wie ich das so gesehen habe .
Dann kann man also im Hintergrund 2D zeichnen und darüber
die 3D Szene darstellen .
Die Einrückung geht hier nunmal öffters flöten .
 

Dreamora

BeitragDo, Apr 29, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
nur löscht er den bildschirm eh am anfang der Loop mit CLS und das obwohl Updateworld:renderworld:flip am schluss is womit der nutze des CameraCLSMode nimmer wirklich gegeben wäre in dem zusammenhang oder sehe ich das irgendwie falsch?

ansonsten ne interessante idee, habe ich noch nie so gesehen ( hab mich allgemein leider noch nicht sehr viel mit den Cam befehlen beschäftigt von Viewport abgesehen )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Freeman

BeitragDo, Apr 29, 2004 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
entschuldigt wenn ich nicht den Theard gemacht hab, aber ich habe das gleiche problem. Ich will nen Transparenten sprite über meine Map zeichnen allerdings wird der Sprite nur angezeigt wenn ich renderworld() in die schleife reinschreibe , allerdings hat das den blöden nachteil das der rest des Bildschirms jetzt gelöscht wird, hab auch schon etwas rumgetüftelt, habs aber wie immer nich geschafft. deshalb möcht ich mich ma kurz einklinken .

Code: [AUSKLAPPEN]

A_StartwertY = 0
A_StartwertX = 0
startwertY = auflY
startwertX = auflX

Graphics3D 800,600,8,2
SetBuffer BackBuffer()
tile   = Loadimage("graphics\layer.png")
tile1 =  LoadImage("graphics\layer1.png")
tile2 =  LoadImage("graphics\layer2.png")
tile3 =  LoadImage("graphics\layer3.png")
tile4 =  LoadImage("graphics\layer4.png")
tile5 =  LoadImage("graphics\layer5.png")

MaskImage tile1 ,239,115,255
MaskImage tile2 ,239,115,255
MaskImage tile3 ,239,115,255
MaskImage tile4 ,239,115,255
MaskImage tile5 ,239,115,255

camera = CreateCamera()
sprite2 = Loadsprite("transp.bmp",1)
PositionEntity sprite2,0,0,1
EntityAlpha sprite2,0.5


While Not KeyDown(1)

DrawImage tile ,  NeuzeitTownX - scrollx,NeuzeitTownY - scrolly
DrawImage tile1,  NeuzeitTownX - scrollx,NeuzeitTownY - scrolly
DrawImage tile2,  NeuzeitTownX - scrollx,NeuzeitTownY - scrolly
DrawImage tile3,  NeuzeitTownX - scrollx,NeuzeitTownY - scrolly
DrawImage tile4,  NeuzeitTownX - scrollx,NeuzeitTownY - scrolly
DrawImage tile5,  NeuzeitTownX - scrollx,NeuzeitTownY - scrolly
FPS()
Mapscrolling()
Flip

Wend



das ist der code ohne renderworld()
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28
 

Dreamora

BeitragDo, Apr 29, 2004 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
transparenz ( also sprite ) geht nur mit renderworld weil sprites 3D objekte sind.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragDo, Apr 29, 2004 23:46
Antworten mit Zitat
Benutzer-Profile anzeigen
@Dreamora

Der Hintergrund besteht bei ihm aus einer 2D Map die wohl nich ganz
den Screen füllt darum das CLS eben .
Wenn der ClsMode der Camera an wäre würde der Hintergrund
wieder gelöscht und die 2D Karte wäre weg .
Anders herum gehts auch nicht weil die 3D Objekte von der
2D Karte übermalt werden .

Übrigens 2D und 3D sieht witzig aus wenn man als Hintergrund
den Desktop nimmt für nen Bildschirmschoner und da drauf
dann 3D Rendert 8)



@Freeman

lese mal oben ,
wenn du nicht willst das Renderworld den Screen löscht benutzte
CameraCLSMode und schalte damit das automatische CLS ab .

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group