Seite 2 von 4

Verfasst: 31.07.2005 17:57
von Batze
Das geht.
Warte mal ich mach dir das mal.

Verfasst: 31.07.2005 18:10
von Eclipse
sry für OT,
aber GENAU das habe ich vor ein paar minuten für meinen 2D-SpaceShooter gemacht.
Undzwar mit 3DSprites. (aber leider in BlitzBasic :cry: ,theoretisch müsste sich das aber auch auf PB übertragen lassen)

Verfasst: 31.07.2005 18:17
von Batze
was ist daran offtoppic?
zeig mal, ich komm nicht mehr drauf.

Verfasst: 31.07.2005 18:30
von Eclipse
ich fands bloß lustig dass ich genau das vor ein paar minuten gemacht hab.
leider hab ich nur den quellcode.

Die Vollvers. von BB ist ziemlich teuer und damit kann man keine EXEs erstellen

edit: hier ist der code

Code: Alles auswählen

cam = CreateCamera()
scrolltext = LoadSprite("scrolltext.png")
SpriteViewMode scrolltext,2
MoveEntity scrolltext,0,-1,0.1
TurnEntity scrolltext,70,0,0

Repeat
Cls()

MoveEntity scrolltext,0,0.0008,0

UpdateWorld()
RenderWorld()
Flip()
Until keyhit(1)
Das prinzip funktioniert so:
zuerst wird ein sprite erstellt (welche Überraschung)
dann wird es um einen beliebigen winkel auf der X-Achse gedreht.
und dann wird es in der Hauptschleife auf der Y-Achse bewegt

Verfasst: 31.07.2005 18:35
von Batze
Zeig doch mal den BB-Code.
Ich bin von BB auf PB gewechselt, also werd ich das wohl kapieren.

Verfasst: 31.07.2005 18:37
von Eclipse
hab den oberen post editiert

Verfasst: 31.07.2005 18:40
von Batze
Tja, so hätte ich es Snake mit Engine3D wohl auch vorgeschlagen, aber der will Sprite3D, und das hat in PB keine Rotation.

Verfasst: 31.07.2005 18:43
von Eclipse
anders geht's nunmal nicht.
(außer man kauft sich adobe after effects)

@Green Snake:
Wieso willst du kein 3D benutzen

Verfasst: 31.07.2005 18:56
von Green Snake
naja, ich möchte die engine3d.dll nicht mitgeben :wink:

ich könnte schon ein video mit moviemaker machen, aber leider ist dann der text vorgegeben, und die grösse zu gross :cry:

naja...

Verfasst: 31.07.2005 19:23
von Batze
So, hier jetzt mal ein Code für Sprite3d.
Leider ist es nicht das was ich erwartet hatte, da die 3D-Sprites dummerweise als 2 Dreiecke gestreckt werden. ;)

Code: Alles auswählen

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

InitSprite()
InitSprite3D()
InitKeyboard()
LoadFont(0, "Courir", 8)

OpenScreen(#SCR_WIDX, #SCR_WIDY, #SCR_MODE, #SCR_NAME)
  
  CreateSprite(0, 256, 20*15+20)
  StartDrawing(SpriteOutput(0))
  DrawingFont(FontID())
  DrawingMode(1)
  FrontColor(255, 255, 0)
  Restore Starwars
  For i=1 To 19
    Locate(0,i*15)
    Read Text.s
    DrawText(Text)
  Next
  StopDrawing()
  
y = 18*15*5
CreateSprite(1, 256, 256, #PB_Sprite_Texture)

Repeat

  ExamineKeyboard()
  
  ClearScreen(0, 0, 0)
  UseBuffer(1)
    ClearScreen(0,0,0)
    DisplaySprite(0, 0, y / 5)
  UseBuffer(-1)
  CreateSprite3D(0, 1)
  
  Start3D()
  TransformSprite3D(0, -50,0,  50,0, 200,350, -200,350 )
  DisplaySprite3D(0, 400, 200)
  Stop3D()
  y - 1 : If y < -100*5 : y = 18*15*5 : EndIf
  
  FlipBuffers()

Until KeyboardPushed(#PB_Key_Escape)

DataSection
 StarWars:
 Data.s "Episode III"
 Data.s "DIE RACHE DER SITH"
 Data.s "Krieg! Die Republik zerfällt"
 Data.s "unter den Angriffen des skrupellosen"
 Data.s "Sith-Lords, Count Dooku."
 Data.s "Es gibt Helden auf beiden Seiten."
 Data.s "Das Böse ist überall."
 Data.s ""
 Data.s "Mit einem überwältigendem Schlag gelingt"
 Data.s "es dem teuflischen Droidenanführer, General"
 Data.s "Grievous, auf die Hauptwelt der Republic"
 Data.s "vorzudringen und den Führer des Galaktischen"
 Data.s "Senats, den Obersten Kanzler Palpatine, zu "
 Data.s "entführen. Als die Droidenarmee der"
 Data.s "Seperatisten mit der wertvollen Geisel"
 Data.s "aus der belagerten Hauptstadt fliehen will,"
 Data.s "leiten zwei Jedi-Ritter"
 Data.s "eine verzweifelte Mission ein, um den"
 Data.s "gefangenen Kanzler zu retten..."
EndDataSection