РАЗНОЕ
н: как работать с таймером?
avel: примерно так:
;в цикле пишешь:
If TimerBegin=0 Then TimerBegin=MilliSecs()
If MilliSecs()>=TimerBegin+время_задержки_в_мс Then
TimerBegin=MilliSecs()
...
EndIf
н: как скрыть\показать курсор в оконном режиме?
avel: используй HidePointer\ShowPointer
н: как запустить другой файл из программы?
avel: ExecFile("имя_файла")
н: как включить каркасный просмотр?
avel: If KeyHit(wire_key) Then wLog=Not wLog WireFrame wLog
н: как создать равномерное освещение?
avel: AmbientLight r,g,b
н: как создать мерцающий свет (как от костра)?
avel:
flame = CreateLight(2)
PositionEntity flame,0,1,0
LightColor flame,255,150,150
LightRange flame,50
;в главном цикле:
LightRange flame,Rnd(30,50)
н: как сделать простую воду?
avel: примерно так:
water=CreatePlane()
EntityColor water,10,60,200
EntityAlpha water,0.6
н: как сделать воду с волнами?
avel: делается загрузкой меша или террайна:
;создаем тип
Type WaterVertices
Field x#
Field y#
Field z#
End Type
;загружаем меш
Global water=LoadMesh("resurs\models\world\water.3ds")
Global Watersurf=GetSurface(water,1)
Dim WaterVertex.WaterVertices(CountVertices(Watersurf))
;функция создания воды
Function CreateWater()
EntityFX water,1
EntityAlpha water,0.6
;ScaleEntity water,,,
;PositionEntity water,,,
;wtex=LoadTexture("")
;ScaleTexture wtex,.05,.05
;EntityTexture water,wtex
For i=0 To CountVertices(Watersurf)-1
WaterVertex(i) = New WaterVertices
WaterVertex(i)\x#=VertexX#(Watersurf,i)
WaterVertex(i)\y#=VertexY#(Watersurf,i)
WaterVertex(i)\z#=VertexZ#(Watersurf,i)
Next
End Function
;обновляем воду в главном цикле
Function RefreshWater()
Watersurf=GetSurface(water,1)
WaterFreq#=MilliSecs()/4
For i=0 To CountVertices(Watersurf)-1
WaterVertex(i)\y#=Sin(WaterFreq+WaterVertex(i)\x#*500+WaterVertex(i)\z#*300);*1.2
VertexCoords Watersurf,i,WaterVertex(i)\x#,-WaterVertex(i)\y#,WaterVertex(i)\z#
Next
End Function
;все!
н: как разделить экран на несколько частей?
avel: используй CameraViewport
н: как заставить спрайт не поворачиваться к камере?
avel: SpriteViewMode имя_спрайта,2
н: как "снимать" скриншоты?
avel: вот функция:
Function screenshot()
For w = 1 To 100
name$ = "screen" + w + ".bmp"
If FileType(name$) = 0
If done = 0
SaveBuffer(FrontBuffer(), name$)
done = 1
EndIf
EndIf
Next
done = 0
End Function
н:как создать эффект тумана?
avel: используй команды работы с камерой:
camera = CreateCamera()
CameraFogMode camera,1
CameraFogRange camera,10,100
CameraFogColor camera,100,100,120