Тема: xfreeEntity
Показать сообщение отдельно
Старый 25.10.2011, 12:56   #5
Vadimich
Нуждающийся
 
Аватар для Vadimich
 
Регистрация: 26.08.2010
Сообщений: 54
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: xfreeEntity

у меня и в мыслях не было просто надеюсь, что вы мне поможете. вот накатал пример:
мне надо сделать так, чтобы красный объект оставался на месте после уничтожения target. не удалялся, а именно не двигался больше. надеюсь, пример понятный. просто на обычном блитце это работало..
;==============================
Target(0,15,1)
timer = 0

Repeat
    
    WaitTimer (t)
    
    xMoveMouse 320,240
    
    timer=timer+1
    If timer>50 Then 
        Target(Rnd(-10,10),15,0)
        timer=0
    EndIf
    
    
    
    
    Target_update()
    Reader_update()
    
    xUpdateWorld()
    xRenderWorld()
    
    
    ;!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    xFlip()
Until xKeyHit(1)
End

Type target
    Field entity
    Field speed#
End Type

Function Target(x#,y#, withObject=0)
    t.Target = New target
    t\entity = xCreateCube()
    xPositionEntity t\entity,x,y,0
    xScaleEntity t\entity,.3,.3,.3
    t\speed = -Rnd(.05,.08)
    
    If withObject = 1 Then Reader(t\entity)
End Function

Function Target_update()
    For t.Target = Each target
        xTranslateEntity t\entity,0,t\speed,0
        
        If xEntityY(t\entity)<0 Then 
            xFreeEntity t\entity: t\entity=0
            Delete t
        EndIf
    Next
End Function

Type Reader
    Field entity
    Field target
End Type

Function Reader(entity)
    r.Reader = New Reader
    r\entity = xCreateCube(): xEntityColor r\entity,255,0,0: xEntityAlpha r\entity,.5
    r\target = entity
End Function

Function Reader_update()
    For r.Reader = Each Reader
        If r\target>0 Then xPositionEntity r\entity, xEntityX(r\target,1), xEntityY(r\target,1),0
    Next
End Function

Последний раз редактировалось SBJoker, 25.10.2011 в 15:17.
(Offline)
 
Ответить с цитированием