Seite 1 von 2
RotateSprite3D
Verfasst: 03.04.2005 07:29
von Green Snake
hallo
habe eine frage. könnte jemand mir einen code geben, der ein bild lädt, (im vollbild wenn möglich) und das sich dan stetig um1 grad verschiebt.
also eine bewegung (animation), die sich immer wiederhohlt.
kurz:
ein sprite, dass sich dreht.
(habe schon in der helfe nachgeschaut, das gemacht was steht, doch es kam ein fehler)
ich währe sehr froh, wenn mir jemand einen code bzw ein beispiel, oder eine erklärung geben könnte.
gruss greensnake
Verfasst: 03.04.2005 11:41
von MLK
Code: Alles auswählen
If InitSprite() = 0 Or InitSprite3D() = 0 Or InitKeyboard() = 0 Or OpenScreen(800, 600, 16, "") = 0 : End : EndIf
Sprite3DTexture = CreateSprite(#PB_Any, 128, 128, #PB_Sprite_Texture)
If StartDrawing(SpriteOutput(Sprite3DTexture))
Box(0,0, 128, 128, RGB(0, 0, 200))
Else : End
EndIf
Sprite3D = CreateSprite3D(#PB_Any, Sprite3DTexture)
If Sprite3D = 0 : End : EndIf
Repeat
ClearScreen(255, 255, 255)
ExamineKeyboard()
Start3D()
RotateSprite3D(Sprite3D, 1, 1) ;oder modus 0 (siehe hilfe)
DisplaySprite3D(Sprite3D, 200, 200)
Stop3D()
FlipBuffers()
Delay(1)
Until KeyboardPushed(#PB_Key_Escape)
Das meinte ich.... fast
Verfasst: 03.04.2005 17:47
von Green Snake
hallo
dein beispiel hat mir geholfen, jedoch weis ich immer noch nit, wie ich das mit einen sprite machen kann:
dh:
ich habe ein sprite im verzeichnis "DiesesBild.bmp"
jetzt möchte ich, das dieses bild rotiert
wie mache ich das bzw wie mus ich den code vrändern das es klappt?
ps
vielen dank für deine vorherige hilfe
Verfasst: 03.04.2005 17:57
von 125
Code: Alles auswählen
If InitSprite() = 0 Or InitSprite3D() = 0 Or InitKeyboard() = 0 Or OpenScreen(800, 600, 16, "") = 0 : End : EndIf
UseJPEGImageDecoder()
Sprite3DTexture = LoadSprite(#PB_Any,"C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\Blaue Berge.jpg",#PB_Sprite_Texture)
Sprite3D = CreateSprite3D(#PB_Any, Sprite3DTexture)
If Sprite3D = 0 : End : EndIf
Repeat
ClearScreen(255, 255, 255)
ExamineKeyboard()
Start3D()
RotateSprite3D(Sprite3D, 1, 1) ;oder modus 0 (siehe hilfe)
DisplaySprite3D(Sprite3D, 100, 100)
Stop3D()
FlipBuffers()
Delay(1)
Until KeyboardPushed(#PB_Key_Escape)
Verfasst: 03.04.2005 18:05
von scoopex
lol
Verfasst: 03.04.2005 18:09
von 125
scoopex hat geschrieben:lol
Sowas mag ich gar nicht...
Jeder war mal Anfänger....
Also HALT DEIN MAUL UND LACH HIER NIEMANDEN AUS. KAPIERT?
Verfasst: 03.04.2005 18:31
von scoopex
...sorry, dachte mit 400 posts war der code nen joke
Code: Alles auswählen
LoadSprite(#PB_Any,"C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\Blaue Berge.jpg",#PB_Sprite_Texture)
-tu deine images in einen ordner oder dahin wo dein prog ist,
weil diesen pfad gibts nur auf deinem pc
-keine delays in einer schleife
Verfasst: 03.04.2005 18:41
von Kaeru Gaman
scoopex hat geschrieben:...sorry, dachte mit 400 posts war der code nen joke
Code: Alles auswählen
LoadSprite(#PB_Any,"C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\Blaue Berge.jpg",#PB_Sprite_Texture)
-benutze keine pure-constanten als spritevariablen
-tu deine images in einen ordner oder dahin wo dein prog ist,
weil diesen pfad gibts nur auf deinem pc
-keine delays in einer schleife
1. schau in die help, wozu denn die #PB_Any-KOnstante überhaupt da ist.
an dieser stelle ist sie nötig.
2. dieses bild hat er gewählt, weil es auf allen rechnern mit XP vorhanden ist
3. ein Delay(1) in die schleife, damit du nicht die CPU auf Vollast fährst.
Verfasst: 03.04.2005 18:42
von MVXA
Keine Delays in einer schleife? Glaub du brennst. Jedenfalls brennt meine CPU danach o_O. Delays sind in schleifen schon ok, es seiden es sind game schleifen. Da sorgt FlibBuffers für den Delay.
Verfasst: 03.04.2005 18:44
von Kaeru Gaman
@MVXA
aber auch FlipBuffers() fährt die CPU auf Vollast...