Hi...
ein kleines Programm. War eine vorstufe des Intro von StationDefence.
BlitzBasic: [AUSKLAPPEN] [EINKLAPPEN] Graphics3D 640,480,16,2 AppTitle "Intro 1 (C) by TFT"
cam=CreateCamera() CameraZoom cam,1.5 CameraRange cam,1,1000
AmbientLight $ff,$ff,$ff
texg=CreateTexture(32,32)
SetBuffer TextureBuffer(texg)
trans=$ff ram=$0 fx=0 blen=0
Color 0,trans,0 Rect 0,0,32,32,1 Color 0,ram,0 Rect 0,0,32,32,0 objg=CreateCube() EntityTexture objg,texg EntityBlend objg,blen EntityFX objg,fx HideEntity objg
texr=CreateTexture(32,32)
SetBuffer TextureBuffer(texr)
Color trans,0,0 Rect 0,0,32,32,1 Color ram,0,0 Rect 0,0,32,32,0 objr=CreateCube() EntityTexture objr,texr EntityBlend objr,blen EntityFX objr,fx HideEntity objr
texb=CreateTexture(32,32)
SetBuffer TextureBuffer(texb)
Color 0,0,trans Rect 0,0,32,32,1 Color 0,0,ram Rect 0,0,32,32,0 objb=CreateCube() EntityTexture objb,texb EntityBlend objb,blen EntityFX objb,fx HideEntity objb
piv=CreatePivot()
mul#=2 quad=6 quadh=quad/2 quadl=quad+1
Dim obj_h(quadl*quadl*quadl)
For i3=0 To quad For i2=0 To quad For i=0 To quad i5=i5+1 If i5=3 Then i5=0 If i5=0 i4=CopyEntity(objb,piv) Else If i5=1 i4=CopyEntity(objg,piv) Else If i5=2 i4=CopyEntity(objr,piv) EndIf PositionEntity i4,i2*mul-mul*quadh,i3*mul-mul*quadh,i*mul-mul*quadh obj_h(i6)=i4 i6=i6+1 Next Next Next anz_obj=i6-1
zom=-1000 PositionEntity cam,0,0,zom
set=0 set_t=MilliSecs()+10000 set_c=0 blen=3 fx=0 alpha#=1.0
SetBuffer BackBuffer()
Repeat
If set=0 If zom<-30 zom=zom+10 Else If set_t<MilliSecs() set=1 set_t=MilliSecs()+10000 EndIf EndIf Else If set=1 If alpha>0 i6=0 For i3=0 To quad For i2=0 To quad For i=0 To quad PositionEntity obj_h(i6),i2*mul-mul*quadh,i3*mul-mul*quadh,i*mul-mul*quadh EntityAlpha obj_h(i6),alpha i6=i6+1 Next Next Next mul=mul+.5 alpha=alpha-.01 Else If set_t<MilliSecs() set=2 set_t=MilliSecs()+10000 set_c=0 blen=0 EndIf EndIf Else If set=2 If blen<>3 i6=0 blen=3 For i3=0 To quad For i2=0 To quad For i=0 To quad EntityAlpha obj_h(i6),1 EntityBlend obj_h(i6),blen EntityFX obj_h(i6),16 i6=i6+1 Next Next Next Else If mul>2 i6=0 For i3=0 To quad For i2=0 To quad For i=0 To quad PositionEntity obj_h(i6),i2*mul-mul*quadh,i3*mul-mul*quadh,i*mul-mul*quadh i6=i6+1 Next Next Next mul=mul-.5 Else If set_t<MilliSecs() set=3 set_t=MilliSecs()+10000 EndIf Else If set=3 EndIf If KeyHit(1) Then en=1 PositionEntity cam,0,0,zom TurnEntity piv,.5,.3,.2 If KeyDown(2) Then zom=zom-5 If KeyDown(3) Then zom=zom+5 RenderWorld Flip
Until en>0
|