http://www.youtube.com/watch?v=rvWbqhAe17Q&feature=youtu.be
birçok incelemeden tam puan alan oyunumu 2dvd olarak piyasaya sürüyorum sakın korsan indirmeyin :))
http://www.youtube.com/watch?v=rvWbqhAe17Q&feature=youtu.be
birçok incelemeden tam puan alan oyunumu 2dvd olarak piyasaya sürüyorum sakın korsan indirmeyin :))
ne flashı 3d oyun yaptım flash la mı yapılmışa benziyo :)dark basic pro ile yaptıhttp://www.youtube.com/watch?v=oiXcL06P3ko
Ondan dolayı arkadaki video bu dimi ((:?
yinede emeğinize sağlık ((:
tabiki arkadaki videyu ben yapmadım ben programcıyım animasyondan anlamam
sadece duman efekti için bu kadar kod yazdım gerisini sen düşün
Rem ***** Included Source File *****
basla:
#constant TCL_3DSmokeParticleMax  12
#constant TCL_3DSmokeMax          5
type TCL_vec3
   x# as float
   y# as float
   z# as float
   
endtype
rem --------------------------------------------------------------
rem Vector 2 UDT
rem --------------------------------------------------------------
rem --------------------------------------------------------------
rem User Defined Types
rem --------------------------------------------------------------
type TCL_3DSmokeAT
   active         as integer
   pos            as TCL_vec3 : rem include "TCL_Essentials.dba" for this to work
   force          as TCL_vec3
   life           as integer
   size#           as float
   FollowObj      as word
   FollowLimb     as word
   
endtype
type TCL_3DSmokeParticlesAT
   pos            as TCL_vec3
   life           as integer
   speed#         as float
   xangle#        as float
   yangle#        as float
endtype
rem --------------------------------------------------------------
rem Initialization
rem --------------------------------------------------------------
   rem --------------------------------------------------------------
   rem initialize essentials
   rem --------------------------------------------------------------
// gosub TCL_Essentials_Init
   rem --------------------------------------------------------------
   rem variables
   rem --------------------------------------------------------------
   olacal:
   global TCL_3DSmokeIMG as word
   
   global TCL_CTRL_3DSmoke as byte = 1
   rem --------------------------------------------------------------
   rem arrays
   rem --------------------------------------------------------------
   
   global dim TCL_3DSmoke(TCL_3DSmokeMax) as TCL_3DSmokeAT
   global dim TCL_3DSmokeParticle(TCL_3DSmokeMax,TCL_3DSmokeParticleMax) as TCL_3DSmokeParticlesAT
   
   
   rem --------------------------------------------------------------
   rem images
   rem --------------------------------------------------------------
   
//   TCL_3DSmokeIMG=find free image()
   load image "D:\Program Files\The Game Creators\Dark Basic Pro Free\Dark Basic Pro\Projects\TheComet's Library\Examples\3D smoke\media\TCL\TCL_3DSmokeIMG.png",20
    load image "C:\ciji\TCL_3DFireIMG.png",21
  
 //  TCL_Create3DSmoke(0,18,123,0,6,0,0)
   return
   
  
function TCL_Create3DSmoke(x#,y#,z#,life,size#,FollowObj,FollowLimb,lock)
   //sayy=10000 
   for n=0+lock to TCL_3DSmokeMax
      if TCL_3DSmoke(n).active<2 then exit
   next n 
   
    if n=TCL_3DSmokeMax+1 then exitfunction -1
    if TCL_3DSmoke(n).active=0
    sayy=(n*12)+1000
    
        for k=1 to TCL_3DSmokeParticleMax
      inc sayy,1
      make object plane sayy,100,100,100
       
        
         
         if lock=0 then texture object sayy,21 else texture object sayy,20
         ghost object on sayy
         set object transparency sayy,4
         disable object zwrite sayy
         set object ambient sayy,0
         scale object sayy,size#,size#,size#
         // rotate object sayy,0,0,0
      if lock=0 then  lock object on sayy
      if lock=3 then  lock object off sayy
       SET OBJECT COLLISION OFF sayy
      next k
     
      
      endif 
TCL_3DSmoke(n).active          = 2
   TCL_3DSmoke(n).pos.x#       = x#
   TCL_3DSmoke(n).pos.y#       = y#
   TCL_3DSmoke(n).pos.z#       = z#
   TCL_3DSmoke(n).life         = life
   TCL_3DSmoke(n).size#        = size#
   TCL_3DSmoke(n).FollowObj    = FollowObj
   TCL_3DSmoke(n).FollowLimb   = FollowLimb
   
   
    
    
ENDFUNCTION n
function TCL_Destroy3DSmoke(n)
   rem local variables
   local k as integer
   sayyy=((n*12)+1)+1000
   rem if not active, exit
   if TCL_3DSmoke(n).active<2 then exitfunction -1
   TCL_3DSmoke(n).active=0
   
   rem destroy Smoke
   for k=sayyy to sayyy+11
       
if object exist(k)=1 then delete object k
   next k
   
   rem deactivate Smoke
//   TCL_3DSmoke(n).active=1
endfunction n
function TCL_Control3DSmoke(xangle#,yangle#)
   rem local varaibles
   local n as integer
   local k as integer
   
   for n=0 to TCL_3DSmokeMax
      if TCL_3DSmoke(n).active=2
          
 sayy=(n*12)+1000
         for k=1 to TCL_3DSmokeParticleMax
         inc sayy,1
            rem life
            dec TCL_3DSmokeParticle(n,k).life
            
       
            rem reset particle
            if TCL_3DSmokeParticle(n,k).life<1 and (TCL_3DSmoke(n).life>10 or TCL_3DSmoke(n).life=0)
               TCL_3DSmokeParticle(n,k).life=10+rnd(10)
              TCL_3DSmokeParticle(n,k).pos.x#=(((rnd(2)-1.0)/40)*TCL_3DSmoke(n).size#)+TCL_3DSmoke(n).pos.x#
               TCL_3DSmokeParticle(n,k).pos.y#=(((rnd(2)-1.0)/40)*TCL_3DSmoke(n).size#)+TCL_3DSmoke(n).pos.y#
               TCL_3DSmokeParticle(n,k).pos.z#=(((rnd(2)-1.0)/40)*TCL_3DSmoke(n).size#)+TCL_3DSmoke(n).pos.z#
              TCL_3DSmokeParticle(n,k).speed#=((rnd(2)/64.0)+0.01)*TCL_3DSmoke(n).size#
            endif
            
            rem fade particles
            s=(TCL_3DSmokeParticle(n,k).life*3)
            bass:
            if object exist(sayy)=0 then sayy=sayy+1: goto bass
            if s>0 then fade object sayy,s
            
            rem Smoke goes up
            inc TCL_3DSmokeParticle(n,k).pos.y#,TCL_3DSmokeParticle(n,k).speed#
            
            rem apply force
            inc TCL_3DSmokeParticle(n,k).pos.x#,TCL_3DSmoke(n).force.x#
            inc TCL_3DSmokeParticle(n,k).pos.y#,TCL_3DSmoke(n).force.y#
            inc TCL_3DSmokeParticle(n,k).pos.z#,TCL_3DSmoke(n).force.z#
            
            rem update particles
            TCL_3DSmokeParticle(n,k).xangle#=xangle#
            TCL_3DSmokeParticle(n,k).yangle#=yangle#
            //text 10,10,str$(TCL_3DSmokeParticle(n,k).xangle#)
         don=wrapvalue (don+5)
            position object sayy,TCL_3DSmokeParticle(n,k).pos.x#,TCL_3DSmokeParticle(n,k).pos.y#,TCL_3DSmokeParticle(n,k).pos.z#
         rotate object sayy,TCL_3DSmokeParticle(n,k).xangle#+don,TCL_3DSmokeParticle(n,k).yangle#,0
            
            set object to camera orientation sayy
         next k
         rem decrement life of Smoke
         if TCL_3DSmoke(n).life>1
        
            dec TCL_3DSmoke(n).life
            if TCL_3DSmoke(n).life=1 then TCL_Destroy3DSmoke(n)
         endif
      endif
   next n
endfunction