[bb] dragon fire by Afke [ 1+ years ago ]

Started by BlitzBot, June 29, 2017, 00:28:43

Previous topic - Next topic

BlitzBot

Title : dragon fire
Author : Afke
Posted : 1+ years ago

Description : the old dragon with fire effect

Code :
Code: blitzbasic
Graphics3D 800,600,32,1
SetBuffer BackBuffer()
enable=True
vert=False

Global camera=CreateCamera ()
;environment cube
cube=CreateCube ()
FitMesh cube,-250,0,-250,500,500,500
FlipMesh cube
tex=LoadTexture( "D:Program FilesBlitz3Dsamplesmakdragonchorme-2.bmp" )
ScaleTexture tex,1.0/3,1.0/3
EntityTexture cube,tex
EntityAlpha cube,.4
EntityFX cube,1

;floor mirror
m=CreateMirror()

;simple light
light=CreateLight()
TurnEntity light,45,45,0
dragon=LoadMD2 ("D:Program FilesBlitz3Dsamplesmakdragonmodeldragon.md2 ")
tex=LoadTexture("D:Program FilesBlitz3Dsamplesmakdragonmodeldragon.bmp")
PositionEntity dragon,0,25,0

EntityTexture dragon,tex
AnimateMD2 dragon,1,0.05,90,130


;camera
camera=CreateCamera()

cam_xr#=30:cam_yr#=0:cam_zr#=0:cam_z#=-100
;--------------- fire--------------------
pivFire=CreatePivot()
Type fire
	Field x#
	Field y#
	Field z#
	Field alpha#
	Field entity
	Field scale#
End Type
sprite=LoadSprite("D:Igra Draculaspritefire.bmp",2,pivFire)
PositionEntity sprite,3,20,43
RotateEntity sprite,0,90,0
HideEntity sprite
con#=0.5:conx#=0.3:no=5
Md=4
;----------------------------------------
time=MilliSecs() 


While Not KeyDown(1)
;-------------- mod of fire------

If Md=1 Then
a1=117:b1=122
con#=1:conx#=0.8:no=5
PositionEntity sprite,3,20,43
RotateEntity sprite,0,90,0

End If
If Md=2 Then
a1=125 :b1=127
con#=0.4:conx#=0.4:no=1
PositionEntity sprite,-18,10,23

End If
If Md=3 Then
a1=100 :b1=102
con#=0.4:conx#=0.3:no=3
PositionEntity sprite,-3,3,33

End If
If Md=4 Then
a1=90 :b1=93
con#=1:conx#=1:no=7
PositionEntity sprite,10,15,43
RotateEntity sprite,0,75,0
End If
;--------------- fire --------------------
	u=u+1
	If u>360 Then u=1
	Repeat
		elapsed=MilliSecs()-time
	Until elapsed>0
	
	time=time+elapsed
	dt#=elapsed*60.0/1000.0
	anim=MD2AnimTime(dragon)
	If anim>129 Then
	Md=4
	End If
	If anim>93 And anim<100 Then 
	Md=3
	End If
	If anim>100  And anim<122 Then 
	Md=1
	End If
	

	If anim>122  And anim<127 Then 
	Md=2
	End If


If anim>a1 And anim<b1
For i=1 To no
f.fire=New fire
falpha#=1;Rnd(0,1)

fscale#=con#*Rnd(8,12)

fentity=CopyEntity (sprite,piv1)
SpriteViewMode fentity,1
RotateSprite fentity,Rnd(360)
num=mum+1
Next
End If

For f.fire=Each fire
	falpha#=falpha#-0.02
	;fscale#=fscale#-Rnd(0.02,0.1)
	
		If falpha>0
			EntityAlpha fentity,falpha
			If falpha#<0.4Then 
			EntityColor fentity,80,200,150
			fx#=con#*conx#*3
			fy#=con#*Rnd(2.4,6.4)
			fz#=con#*Rnd(-4.8,4.8)
			ElseIf falpha#<0.8 And falpha#>0.4Then
			fscale#=con#*Rnd(10,14)
			fx#=con#*conx#*4;Rnd(1.9,2)
			fy#=con#*Rnd(-6,6)
			fz#=con#*Rnd(-6,6)
			Else
			fscale#=con#*4
			fx#=con#*conx#*Rnd(2,4)
			fy#=con#*Rnd(-2,2)
			fz#=con#*Rnd(-2,2)
		EndIf
			ScaleSprite fentity,fscale#,fscale#
			MoveEntity fentity,fx,fy,fz
			
		Else
			FreeEntity fentity
			Delete f
			num=num-1
		EndIf
Next
;--------------------------------------------
If KeyDown(17)WireFrame enable
If KeyDown(203)
		cam_yr=cam_yr-2
	Else If KeyDown(205)
		cam_yr=cam_yr+2
	EndIf
	
	If KeyDown(200)
		cam_xr=cam_xr+2
		If cam_xr>90 cam_xr=90
	Else If KeyDown(208)
		cam_xr=cam_xr-2
		If cam_xr<5 cam_xr=5
	EndIf
	
	If KeyDown(26)
		cam_zr=cam_zr+2
	Else If KeyDown(27)
		cam_zr=cam_zr-2
	EndIf
	
	If KeyDown(30)
		cam_z=cam_z+1:If cam_z>-10 cam_z=-10
	Else If KeyDown(44)
		cam_z=cam_z-1:If cam_z<-180 cam_z=-180
	EndIf
	
	PositionEntity camera,0,0,0
	RotateEntity camera,cam_xr,cam_yr,cam_zr
	MoveEntity camera,0,0,cam_z
If KeyDown(16) surf=GetSurface (dragon,1)
If KeyDown(78) Then
x=x+1
If x>CountVertices (surf) Then x=CountVertices(surf)
vert=True
End If
If vert=True Then
VertexX(surf,x)
VertexY(surf,x)
VertexZ(surf,x)
VertexColor surf,a,255,0,0,1
EndIf 

UpdateWorld
RenderWorld
Flip

Wend
End


Comments :


Pedro(Posted 1+ years ago)

 Could you provide the texture :sprite=LoadSprite("D:Igra Draculaspritefire.bmp",2,pivFire)thanks:)


Afke(Posted 1+ years ago)

 you can use fire texture from exsample never mind it will be good


Barliesque(Posted 1+ years ago)

 Nice effect!I replaced the fire.bmp file with...C:Program FilesBlitz3DsamplesHi-ToroShooterShootergfxfire.bmp


Afke(Posted 1+ years ago)

 Ok man nice thanks for compliment


Rogue Vector(Posted 1+ years ago)

 add this line:EntityBlend fentity, 3It will look even more realistic.Rogue Vector