forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   Мало ресурсный огонь. (http://forum.boolean.name/showthread.php?t=2093)

pipns 11.12.2006 18:44

Мало ресурсный огонь.
 
Graphics3D 600, 600, 16, 2
SetBuffer BackBuffer( )
phWorldCreate( 1 )
phWorldSetGravity( 0, -9.8, 0 )
SeedRnd MilliSecs( )
Global Camera = CreateCamera( )
Global Light = CreateLight( )
Type SpriteFire
Field Sprite
Field AlphaD#
Field AlphaM#
Field MoveY#
Field MoveXZ#
End Type
Type Fire
Field TimeD%
Field TimeN%
Field PX#
Field PY#
Field PZ#
Field R
Field G
Field B
End Type

PositionEntity Camera, 0, 100, -200
RotateEntity Camera, 45, 0, 0

Create_Fire 70, -40, 0, 0, 255, 255, 55
Create_Fire 70, 40, 0, 0, 125, 125, 255

Mirror = CreateMirror( )
Repeat

Update_SpriteFire
Update_Fire

UpdateWorld
RenderWorld


Flip 0
Until KeyHit(1)
End

Function Create_SpriteFire ( AlphaD#=1, AlphaM#=.001, Scale#=1, MoveY#=.05, MoveXZ#=0, PX#=0, PY#=0, PZ#=0, R=0, G=0, B=0 )
sf.SpriteFire = New SpriteFire
sf\Sprite = CreateSprite ( )
sf\AlphaD# = AlphaD#
sf\AlphaM# = AlphaM#
sf\MoveY# = MoveY#
sf\MoveXZ# = MoveXZ#
EntityShininess sf\Sprite, 1
ScaleSprite sf\Sprite, Scale#, Scale#
EntityColor sf\Sprite, R, G, B
PositionEntity sf\Sprite, PX#, PY#, PZ#
End Function
Function Update_SpriteFire ( )
For sf.SpriteFire = Each SpriteFire
sf\AlphaD# = sf\AlphaD# - sf\AlphaM#
EntityAlpha sf\Sprite, sf\AlphaD#
TranslateEntity sf\Sprite, sf\MoveXZ#, sf\MoveY#, sf\MoveXZ#
If sf\AlphaD# <= 0 Then
FreeEntity sf\Sprite
Delete sf
EndIf
Next
End Function

Function Create_Fire ( Time=100, PX#=0, PY#=0, PZ#=0, R=0, G=0, B=0 )
fr.Fire = New Fire
fr\TimeD% = Time%
fr\TimeN% = Time%
fr\PX# = PX#
fr\PY# = PY#
fr\PZ# = PZ#
fr\R = R
fr\G = G
fr\B = B
End Function
Function Update_Fire ( )
For fr.Fire = Each Fire
fr\TimeD% = fr\TimeD% - 1
If fr\TimeD% <=0 Then
Create_SpriteFire 1, .001, 1, .05, Rnd(-.015,.015), fr\PX#+Rnd(-3,3), fr\PY#, fr\PZ#+Rnd(-3,3), fr\R, fr\G, fr\B
fr\TimeD% = fr\TimeN%
EndIf
Next
End Function

pipns 11.12.2006 19:08

Re: Мало ресурсный огонь.
 
Извените за мою не грамотность. Просто когда я пишу быстро, у меня получаеться чушь!

HolyDel 12.12.2006 01:37

Re: Мало ресурсный огонь.
 
работает.

Черный крыс 13.12.2006 04:07

Re: Мало ресурсный огонь.
 
AMT_particle_system - рулит!!! =)

vadim2 16.12.2006 20:37

Re: Мало ресурсный огонь.
 
Цитата:

Сообщение от Diablo1909
AMT_particle_system - рулит!!! =)

А где её взять бесплатно?

jimon 16.12.2006 23:00

Re: Мало ресурсный огонь.
 
попросить у автора

Тарас Шевченко 24.12.2006 13:42

Re: Мало ресурсный огонь.
 
2 jimon: Может вопрос глупый, но кто автор и как с ним связаться?

Valet 24.12.2006 15:16

Re: Мало ресурсный огонь.
 
Странно... Может только лишь я не могу узреть в этом примере самого пламени? :4to:

Progger_Leo 24.12.2006 20:19

Re: Мало ресурсный огонь.
 
Я тоже что-то пламени узреть не могу...:4to: А пива не пил...

jimon 24.12.2006 23:20

Re: Мало ресурсный огонь.
 
Тарас Шевченко
попроси Maxus'а или Tormoz'а

avel 25.08.2007 20:04

Re: Мало ресурсный огонь.
 
а я чего-то тоже пламени не заметил... где сам огонь-то? там только спарки.

Crystal 12.09.2007 22:27

Re: Мало ресурсный огонь.
 
Код:

function 'phworldcreate' not found


dimanche13 12.09.2007 22:31

Re: Мало ресурсный огонь.
 
Crystal, а "ph" в названии функции тебе ничего не говорит?

NitE 12.09.2007 23:04

Re: Мало ресурсный огонь.
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

BOPOH 29.11.2007 00:05

Re: Мало ресурсный огонь.
 
Код:

;a как вам мой вариант ???;BOPOH / red_kapcap icq 212602917;DEMO_Fire;Graphics3D 800,600,16,2Const SyncTime=30Global sync=CreateTimer(SyncTime)Global oldtime=0Global fps#=SyncTimeSeedRnd MilliSecs()AmbientLight 100,100,100Global light_amb=CreateLight():RotateEntity(light_amb,80,-20,0)plane=CreatePlane():EntityTexture plane,MakeTx_001()SetBuffer BackBuffer()Global GLTarget=CreatePivot()Global Camera=CreateCamera(GLTarget):CameraClsColor Camera,200,170,200MoveEntity Camera,0,2,-15:PointEntity camera,GLTarget;;=================iniGlobal GlobalFireTexture=FireTexture(1) ; 1 or 2For ix=0 To 50e=CreateNewFire(1,1,Rnd(1,2)):PositionEntity e,Rnd(-10,10),0,Rnd(-10,10)NexttExit=False;===================================================While Not tExitSoftFPS#()If KeyDown( 1 ) tExit=TrueTurnEntity GLTarget,0,0.2,0If fps>=SyncTime e=CreateNewFire(1,1,Rnd(1,2)):PositionEntity e,Rnd(-10,10),0,Rnd(-10,10)SetBuffer BackBuffer()UpdateWorld ()RenderWorldColor 255,10,10Text 0,0,"FPS="+RSet$(Str(FPS#),6) +" Triangles Rendered: "+RSet$(TrisRendered(),10)WaitTimer(Sync)Flip Wend ;-----------------------------------------\\\Function SoftFPS#()fps#=1000/(MilliSecs()-oldtime)oldtime=MilliSecs();Return fps#End Function ;-----------------------------------------///Function CreateNewFire(Size=1,wt=1,ht=2)ent0=CreatePivot()tx=GlobalFireTextureent=firemesh(wt,Ht,ent0)EntityTexture ent,txEntityBlend ent,3EntityFX ent,17;---------------animSetAnimKey ent,0,0,1SetAnimKey ent,1,0,1TurnEntity ent,0,90,0SetAnimKey ent,2,0,1SetAnimKey ent,3,0,1TurnEntity ent,0,90,0SetAnimKey ent,4,0,1SetAnimKey ent,5,0,1TurnEntity ent,0,90,0SetAnimKey ent,6,0,1SetAnimKey ent,7,0,1AddAnimSeq ent,8Animate ent;-----------------------ent1=firemesh(wt,Ht*0.6,ent0)EntityTexture ent1,txEntityBlend ent1,3EntityFX ent1,16RotateMesh ent1,0,45,0 SetAnimKey ent1,0,0,1SetAnimKey ent1,1,0,1TurnEntity ent1,0,-90,0SetAnimKey ent1,2,0,1SetAnimKey ent1,3,0,1TurnEntity ent1,0,-90,0SetAnimKey ent1,4,0,1SetAnimKey ent1,5,0,1TurnEntity ent1,0,-90,0SetAnimKey ent1,6,0,1SetAnimKey ent1,7,0,1AddAnimSeq ent1,8Animate ent1ScaleEntity ent0,0.01,0.01,0.01SetAnimKey ent0,0,0,0,1frames=160For ix=1 To frames Step 15k#=Rnd(-0.2,0.3)SetAnimKey ent0,ix,0,0,1ScaleEntity ent0,1+k*0.5,1+k#,1+k*0.5Nextframes=frames+10ScaleEntity ent0,0.01,0.01,0.01SetAnimKey ent0,frames,0,0,1AddAnimSeq ent0,frames+10Animate ent0Return ent0End Function Function FireTexture(Size=1)Local x#,y#,strn%,kadr%,col%Local w#,h#sz=16 Shl sizestrn=(sz*0.5)tx=CreateTexture(sz,sz,3)SetBuffer TextureBuffer(tx)LockBufferFor x=0 To sz-1For y=0 To sz-1WritePixelFast x,y,0;+$ff000000NextNextUnlockBuffer;--------------------generate pictureFor ix#=0 To strn-1 ;Step 2;5max#=strnkStep#=(0.0+ix)/max#kStepi#=1-kStep#k0#=((kStep*10) And 7)*0.11794k#=(ix And 3);----select colorClr=Rnd(10)Select True Case Clr9r=000:g=0:b=200*kStepi#Default r=155:g=100*kStep#:b=0End Select s#=0a#=0.590+Rnd(0.08)pos#=2Xsm#=0;-----loopWhile pos#3 kadr=0WendNextReturn TxEnd Function Function FireMesh(w#=1,h#=1,par)Mes=CreateMesh(par):CrSur=CreateSurface(Mes)AddVertex(CrSur,-w,0,0,1,0,0)AddVertex(CrSur,0,h,0,1,1,0)AddVertex(CrSur,w,0,0,0,1,0)AddVertex(CrSur,0,0,w#,0,1,0)AddVertex(CrSur,0,h,0,0,0,0)AddVertex(CrSur,0,0,-w#,1,0,0)AddTriangle(CrSur,0,1,2)AddTriangle(CrSur,3,4,5)Return mes End Function Function MakeTx_001(sz=32)tx=CreateTexture(sz,sz)SetBuffer TextureBuffer(tx) ClsColor 80,40,10:ClsFor i1=1 To 320b=Rnd(-20,20):Color 80+b,40+b,10x=Rnd(sz):y=Rnd(sz)For i=1 To 4Plot x+Rnd(-1,1),y+Rnd(-1,1)Next:NextReturn txEnd Function


Часовой пояс GMT +4, время: 22:35.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot