PS²: nicht wunder das da noch andere sachen dabei sind aber hatte vorher noch mehr Funktionen drin.
Code: Alles auswählen
InitSprite()
InitSprite3D()
InitKeyboard()
OpenScreen(1280, 1024, 32, "GT")
Structure F
F.l
x.f
y.f
w.f
v.f
G.f
h.f
EndStructure
NewList F.F()
Procedure Feuer(F, x.f, y.f, w.f, v.f, G.f, h.f)
AddElement(F())
F()\F = F
F()\x = x
F()\y = y
F()\w = w
F()\v = v
F()\G = G
F()\h = h
EndProcedure
b.f = 3.14159265/180 ; Bogenmaß
CreateSprite(2, 128, 128, #PB_Sprite_Texture)
StartDrawing(SpriteOutput(2))
For n = 1 To 63
Circle(64,64,64-n, RGB(n*8/2,n*3/2,n/2))
Next n
StopDrawing()
CreateSprite3D(2, 2)
For m = 0 To 3
For n = 1 To 8 Step 1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n+2, m*85)
Next n
For n = 8 To 12 Step 2:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n+2, m*85)
Next n
For n = 12 To 8 Step -1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-5, m*85)
Next n
For n = 12 To 10 Step -1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-2, m*85)
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-2, m*85)
Next n
Next m
ClearScreen(64,64,64)
Start3D()
For xxx = 0 To 14
For yyy = 0 To 9
Sprite3DBlendingMode(xxx,yyy)
ResetList(F())
While NextElement(F())
ZoomSprite3D(F()\F, F()\G*2, F()\G*2)
DisplaySprite3D(F()\F, F()\x-F()\G+xxx*80, F()\y-F()\G+yyy*100, F()\h)
Wend
Next yyy
Next xxx
Stop3D()
StartDrawing(ScreenOutput())
For xxx = 0 To 14
For yyy = 0 To 9
DrawingMode(1|4)
Line(xxx*80, yyy*100, 80, 0, RGB(128,128,128))
Line(xxx*80, yyy*100, 0, 100, RGB(128,128,128))
Locate(xxx*80+2, yyy*100) : DrawText(Str(xxx)+" "+Str(yyy))
Next yyy
Next xxx
StopDrawing()
GrabSprite(1000,0,0,1200,1000)
SaveSprite(1000, "Grafiktest.bmp")
FlipBuffers()
Delay(2000)
End