Bild umdrehen
Bild umdrehen
Hi,
ich probier grad PB aus ... also bitte verzeiht mir die vielleicht dumme Frage! :-> Und zwar ist es ja recht einfach ein Bild zu drehen. Nun möchte ich aber ein Bild (in dem Fall speziell eine Spielkarte) umdrehen! Also erst soll die Rückseite sichtbar sein und dann soll sich die Kartenseite umdrehen/aufdecken.
Geht das schon in Richtung 3D Programmierung?? Ist das mit PB möglich?? Hat einer dazu evtl ein kleines Beispiel wie man sowas anfängt/macht???
Schönen Dank für eure Infos/Hilfe!
Gruss
Markus
ich probier grad PB aus ... also bitte verzeiht mir die vielleicht dumme Frage! :-> Und zwar ist es ja recht einfach ein Bild zu drehen. Nun möchte ich aber ein Bild (in dem Fall speziell eine Spielkarte) umdrehen! Also erst soll die Rückseite sichtbar sein und dann soll sich die Kartenseite umdrehen/aufdecken.
Geht das schon in Richtung 3D Programmierung?? Ist das mit PB möglich?? Hat einer dazu evtl ein kleines Beispiel wie man sowas anfängt/macht???
Schönen Dank für eure Infos/Hilfe!
Gruss
Markus
genau soetwas habe ich ebengfalls einmal benötigt und dank Stargate auch umsetzen können. Das ganze funktioniert mit TransformSprite3d() ganz wunderbar, die Karte wird gehoben und perspektivisch (gibt es das Wort!?) gedreht. Also keine Platte "draufsicht".
Wenn ich zuhause bin könnte ich dir den Code zukommen lassen.
Wenn ich zuhause bin könnte ich dir den Code zukommen lassen.
pb 4.51
3D speziell nicht ...
es reicht dort ein Einfaches Sprite3D
- Einmal die Vorderseite
- einmal die Rückseite
Beim Drehvorgang zeigst du halt zuerst die Rückseite voll und dnan zerrst du die Karte immer kleiner bis Null, und dann zeigst du die vorderseite und zerrst die von 0 bis voll.
Mit: ZoomSprite3D(Sprite3D, Width, Height)
EDIT: hier ein Beispiel:
es reicht dort ein Einfaches Sprite3D
- Einmal die Vorderseite
- einmal die Rückseite
Beim Drehvorgang zeigst du halt zuerst die Rückseite voll und dnan zerrst du die Karte immer kleiner bis Null, und dann zeigst du die vorderseite und zerrst die von 0 bis voll.
Mit: ZoomSprite3D(Sprite3D, Width, Height)
EDIT: hier ein Beispiel:
Code: Alles auswählen
InitSprite()
InitSprite3D()
InitKeyboard()
OpenWindow(0, 0, 0, 800, 600, "SCREEN", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 0, 0, 0)
CreateSprite(1,100,300,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(1))
Box(0,0,100,300,$F0A000)
DrawText(0,0,"Laber Laber")
StopDrawing()
CreateSprite3D(1,1)
CreateSprite(2,100,300,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(2))
Box(0,0,100,300,$00A0F0)
DrawText(0,0,"Blub Blub")
StopDrawing()
CreateSprite3D(2,2)
Repeat
WindowEvent()
ClearScreen(0)
Dreh.f + 0.05
Start3D()
ZoomSprite3D(1, Cos(Dreh)*100, 300)
DisplaySprite3D(1, 200-Cos(Dreh)*50, 100)
ZoomSprite3D(2, -Cos(Dreh)*100, 300)
DisplaySprite3D(2, 200+Cos(Dreh)*50, 100)
Stop3D()
FlipBuffers()
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape) : End : EndIf
ForEverPB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
jo es ist halt die "einfachste" Art, etwas so zu drehen, da gibs aber noch viele verbesserungen, bis hin zum echten 3D , was bei einem einfachen Kartenspiel vllt zu viel wäre
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Hallo Markus,
Grüße & Willkommen ... Kiffi
bitte vorher das hier lesen: PureBasic bestellen - Vollversion & Upgrademacmark hat geschrieben:Werd dann morgen mal das PB bestellen!
Grüße & Willkommen ... Kiffi
a²+b²=mc²
Hi... wär klasse wenn du mir den Code zukommen lassen könntest... hört sich gut an!gnasen hat geschrieben:genau soetwas habe ich ebengfalls einmal benötigt und dank Stargate auch umsetzen können. Das ganze funktioniert mit TransformSprite3d() ganz wunderbar, die Karte wird gehoben und perspektivisch (gibt es das Wort!?) gedreht. Also keine Platte "draufsicht".
Wenn ich zuhause bin könnte ich dir den Code zukommen lassen.
Gruss
Markus