Seite 1 von 4

Star Wars {Episode PureBasic}

Verfasst: 24.07.2005 00:06
von Green Snake
hi

ihr kennt sicher alle das intro von star wars.
der text fliegt so von unten ins bild, und wird immer kleiner, je weiter er fliegt, bis er nicht mehr zu sehen ist.
*besser kann ichs nicht beschreiben, aber ihr wisst sicher was ich meine*

jetzt zur frage:
kann man das irgendwie mit purebasic "berechnen"?
also das ich das ganze nicht als eine animation von bildern haben muss.

als beispiel habe ich folgenden text:

Code: Alles auswählen

Hallo Welt
Wie gehts dir?
Mir gehts gut, nur dass
das mit dem Star Wars
Intro nicht so laufen will.
jetzt wäre es natürlich sinvoller, wenn ich den text irgendwie mittels drawtext oder mit EINEM EINZIGEN sprite so perspektivisch anzeigen könnte.

ist das irgendwie möglich?

denn wenn ich daraus eine ganze animation machen würde, würde das mir ja den speicherplatz unnötig "klauen".
das ganze ist für die credits eines spieles gedacht, da werde ich warscheinlich relativ viel text haben. :allright:

ich habe schon daran gedacht, das mit einen video zu machen, da diese funktion im moviemaker schon inbegriffen ist.
aber viel spannender wirds natürlich mit pb :lol:

bin um jede hilfe froh :wink:

gruss GreenSnake :allright:

Verfasst: 24.07.2005 01:22
von Batze
Machs mit ogre. Dafür reicht es.

Verfasst: 24.07.2005 01:29
von Ynnus
Oder nimm 3D-Sprites. Die kann man so verziehen und auch zoomen, dass es perspektivisch aussieht.

Verfasst: 24.07.2005 11:46
von Batze
Gut, aber Einen Nebeleffekt in dem der Text langsam verschwindet würde man damit nicht hinkriegen. <)

Verfasst: 24.07.2005 15:05
von Green Snake
ne, an 3d will ich mich gar nicht erst wenden :wink:
an sprite3d habe ich schon gedacht, aber geht das wirklich, mit den befehlen transformsprite3d und zoomsprite3d?
*hmmm...gleichmalausprobier*
:allright:

Verfasst: 25.07.2005 12:01
von Lebostein
Batze hat geschrieben:Gut, aber Einen Nebeleffekt in dem der Text langsam verschwindet würde man damit nicht hinkriegen. <)
Aber sicher doch!! Die Operation "DisplaySprite3D(#Sprite3D, x, y, Transparenz)" hat als letzten Parameter einen Transparenzwert, der von 0 (unsichtbar) bis 255 (voll sichtbar) geht. Einfach für 'vorn' 255 verwenden und nach hinten mit dem Wert langsam runtergehen - und schon hat man einen Nebeleffekt:

Code: Alles auswählen

#SCR_WIDX = 800
#SCR_WIDY = 600
#SCR_MODE = 16
#SCR_NAME = "Titel"

InitSprite()
InitSprite3D()
InitKeyboard()

OpenScreen(#SCR_WIDX, #SCR_WIDY, #SCR_MODE, #SCR_NAME)

CreateSprite(0, 256, 256, #PB_Sprite_Texture)
StartDrawing(SpriteOutput(0))
DrawingMode(1)
FrontColor(255, 255, 0)
DrawText("Es war einmal in einer....")
StopDrawing()

CreateSprite3D(0, 0)

y = 255

Repeat

  ExamineKeyboard()
  ClearScreen(0, 0, 0)
  
  Start3D()
  DisplaySprite3D(0, 300, 200 + y, y)
  Stop3D()
  
  y - 1: If y < 0: y = 255: EndIf
  
  FlipBuffers()

Until KeyboardPushed(#PB_Key_Escape)

Verfasst: 25.07.2005 12:08
von Green Snake
jop, also der "2d abspann" (nenne ich mal so), wobei sich der text nicht perspektivisch nach hinten "rendert", sondern von unten noch oben läuft, ist das gar kein problem das anzuwenden.
probleme gibts eigentlich auch nicht beim starwars abspann, jedoch das perspektivische "zoomen" will nicht so recht hin kommen :cry:

irgendwie gehts schon.... :D

Verfasst: 31.07.2005 17:33
von hardfalcon
Mach aus jeder Textzeile ein Sprite, das du, je weiter nach oben/hinten es kommt, immer kleiner zoomst.

Verfasst: 31.07.2005 17:38
von Green Snake
das könnte ich, aber dann gehts wieder in den bereich:
komplette animation :wink:

ich möchte das nur mit einem sprite machen :allright:

Verfasst: 31.07.2005 17:51
von hardfalcon
Das ist IMHO nicht möglich.