Images durch Sprites ersetzen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Tankbuster

Betreff: Images durch Sprites ersetzen

BeitragDi, Apr 03, 2007 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will alle Bilder in meinem Spiel jetzt in Sprites umwandeln! Aber ich komm einfach nicht dahinter, wie...
Ich habe es schon fast geschafft, aber irgendwie wills nicht so richtig funktionieren Confused

In dem Code ging es mir darum, ein Sprite auf dem (0|0) Punkt anzuzeigen, funzt aber nicht.... Was hab ich falsch gemacht?
Zitat:
graphic_x=800
graphic_y=600
graphics3D graphic_x,graphic_y
cam=CreateCamera
Global tab1=LoadSprite("gfx\tab1.png",2,cam)
MoveEntity tab1, 0,0 , graphic_x/graphic_y*2
ScaleSprite tab1,graphic_x/graphic_y*2,1*2
Twitter
Download Jewel Snake!
Windows|Android

skey-z

BeitragDi, Apr 03, 2007 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ist ein Code mit dem du Sprites wie normale images positionieren kannst, er stammt von DC/Unrealsoftware

Code: [AUSKLAPPEN]
Graphics3D 640,480,32,2
SetBuffer BackBuffer()

camera=CreateCamera()
      CameraClsMode camera,0,1
      CameraRange camera,1,700

sprite=CreateSprite()
      ScaleSprite sprite,64,64
      EntityColor sprite,255,0,0
      EntityAlpha sprite,0.5
      PositionEntity sprite,((64)*2)-640+64,-((64)*2)+480-64,640
      
      
      
While Not KeyHit(1)
   Cls
   For x=0 To 20 Step 2
      For y=0 To 15 Step 2
         Rect x*32,y*32,32,32,1
      Next
   Next
   RenderWorld()
   Flip
Wend
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Apr 03, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Jep, wobei hier ScaleSprite sprite,64,64 die 64 sich auf eine Spritegröße von 64x64 handelt. Bei größeren Sprites, muss natürlich auch entsprechend eine andere Zahl da rein.

Falls nur 2D-Grafiken angezeigt werden sollen, so würde ich lieber die Kamera nach hinten ziehen, so kann man sich dann später das ewige neuberechnen der Z-Position von Sprites sparen.

Als Beispiel:
camera=CreateCamera()
PositionEntity camera,0,0,-GraphicsWidth()/2

Wer aber denoch 3D-Objekte 2D darstellen will:
camera=CreateCamera()
PositionEntity camera,0,0,-100
CameraZoom camera,2.0/GraphicsWidth()
CameraProjMode camera,2

Wer die gewohnte 2D-Koordination haben will (x=0, y=0 als links/oben):
camera=CreateCamera()
CameraProjMode camera,2
RotateEntity camera,180,0,0
PositionEntity camera,GraphicsWidth()/2,GraphicsHeight()/2,100
CameraZoom camera,2.0/GraphicsWidth()

Beim letzten Beispiel sollte dann aber überall EntityFX auf +16 gestellt werden. Letztes Beispiel kann ich aber nicht besonders empfehlen.^^
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Tankbuster

BeitragDi, Apr 03, 2007 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
tut mir ja echt leid für die nächste (noob) frage, aber die muss einfach sein!
Das Sprite ist jetzt ziemlich durchsichtig 0o Wie krieg ich das wieder normal??
Alpha ist ja schon ganz hoch eingestellt Embarassed
Twitter
Download Jewel Snake!
Windows|Android
 

Lastsamurai

BeitragDi, Apr 03, 2007 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du zufällig EntityBlend [Sprite], 3 gesetzt? Bei mir wurde es dann fast halb durchsichtig... ansonsten weiß ich nicht worand es noch liegen könnte ohne das du uns Code zeigst.

MfG. LastSamurai

Tankbuster

BeitragDi, Apr 03, 2007 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Das EntityFX hab ich gemacht, damit es ein bisschen dunkler wirkt 0o

Zitat:
Global tab1=LoadSprite("gfx\tab1.png",2,cam)
ScaleSprite tab1,163,163
EntityFX tab1,8
PositionEntity tab1,((0)*2)-graphic_x+163,-((0)*2)+graphic_y-163,graphic_x
Twitter
Download Jewel Snake!
Windows|Android

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Apr 03, 2007 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du vielleicht mein letzten Vorschlag genommen? Wenn ja, dann musst du folgendes beachten, was ich bereits schrieb: Zitat:
Beim letzten Beispiel sollte dann aber überall EntityFX auf +16 gestellt werden. Letztes Beispiel kann ich aber nicht besonders empfehlen.^^
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Lastsamurai

BeitragDi, Apr 03, 2007 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Stell mal beim Laden des Sprites den Texture Flag auf etwas anderes als Alpha Rolling Eyes

Also:

LoadSprite("gfx\tab1.png",1 oder 4,cam)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group