Seite 1 von 2
Bild umdrehen
Verfasst: 15.07.2009 16:07
von macmark
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
Verfasst: 15.07.2009 16:55
von gnasen
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.
Verfasst: 15.07.2009 16:57
von STARGÅTE
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:
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
ForEver
Verfasst: 15.07.2009 17:11
von macmark
Hi,
wow... Danke für die Antwort. Ist ja echt einfach! Und ich brech mir mit c# seit Tagen sonstwas ab. Werd dann morgen mal das PB bestellen!
Gruss
Markus
Verfasst: 15.07.2009 17:18
von STARGÅTE
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
Verfasst: 15.07.2009 17:44
von Kiffi
Hallo Markus,
macmark hat geschrieben:Werd dann morgen mal das PB bestellen!
bitte vorher das hier lesen:
PureBasic bestellen - Vollversion & Upgrade
Grüße & Willkommen ... Kiffi
Verfasst: 15.07.2009 20:57
von Vera
Hi Markus,
Willkommen onBoard
und danke, dass Du diese Frage gestellt hast.
wenn'ste noch 3 EURs über hast, dann wünsch' Dir doch auch die CD ~
kann' ich echt empfehlen
Gruß ~ Vera
Verfasst: 15.07.2009 22:39
von macmark
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.
Hi... wär klasse wenn du mir den Code zukommen lassen könntest... hört sich gut an!
Gruss
Markus
Verfasst: 15.07.2009 22:41
von macmark
Vera hat geschrieben:Hi Markus,
Willkommen onBoard
und danke, dass Du diese Frage gestellt hast.
wenn'ste noch 3 EURs über hast, dann wünsch' Dir doch auch die CD ~
kann' ich echt empfehlen
Gruß ~ Vera
...Danke! Mal schauen... kann so schlecht warten!!
Gruss
Markus
Verfasst: 15.07.2009 23:04
von Vera
macmark hat geschrieben:...Danke! Mal schauen... kann so schlecht warten!!

wie's beliebt - doch den Zugang zum Download der Vollversionen kriegst Du bei elektronischer Überweisung innerhalb von Stunden und unabhängig davon, würde die 'Hardware' gemütlich mit der Post geschneckt.

~ Vera