forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Всем привет, помогите мне зеленому:) (http://forum.boolean.name/showthread.php?t=4160)

ABTOMAT 17.08.2007 11:51

Re: Всем привет, помогите мне зеленому:)
 
PIRSER, функция, это, например, такой код:

[blitz]Function prevedmedved(x,y)
Text x,y,"Превед, медвед!"
End Function [/blitz]

вызов функции - это например такой код:

[blitz]
........
код проги
.......
RenderWorld
prevedmedved (20,20) ;!!! Вызов функции
flip
......
......
[/blitz]

Ты щас уже второй раз выкладываешь в своем посте код самой функции, а нам нужно то место где ты её вызываешь!

Кста как ты сделал чтобы текст выделялся в посте цветами точно так же как в Блитзе? Ну там, каменты жёлтенькие, переменные синенькие и т.д.? Я тоже так хочу! :@

PIRSER 17.08.2007 11:56

Re: Всем привет, помогите мне зеленому:)
 
Вот!

это с одним мешем, без скайла и позиции.

Цитата:


SeedRnd MilliSecs
()
Graphics3D 640,480,16,0
SetBuffer BackBuffer()


Scool=LoadMesh("D:\my game\1\1.x")


Function MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;right face
b=LoadBrush( file$+"_LF.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;back face
b=LoadBrush( file$+"_BK.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;left face
b=LoadBrush( file$+"_RT.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;top face
b=LoadBrush( file$+"_UP.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m

End Function


lit=CreateLight()
cub=CreateCube()
PositionEntity cub,0,0,0
tex=LoadTexture("1.jpg")
ScaleTexture tex,10,10
EntityTexture cub,tex
ScaleEntity cub,1,.5,2
cam=CreateCamera(cub)
PositionEntity cam,x#,y#,z#
CameraRange cam,0.1,10000
Repeat
;upravlenie kubom
If KeyDown(200) MoveEntity cub,0,0,10
If KeyDown(208) MoveEntity cub,0,0,-10
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
sky=MakeSkyBox("sky")
ScaleEntity sky,100,100,100
UpdateWorld
RenderWorld
Flip
Until KeyHit
(1)
End


PIRSER 17.08.2007 12:01

Re: Всем привет, помогите мне зеленому:)
 
To АВТОМАТ Хех не знал, я думал скай куб, эт просто объект. Зачем мне его вызывать, если он показывается:) Да я полный НУБ!

Текст просто копировал сразу из Блица, а он сам так вставляется:)

ABTOMAT 17.08.2007 12:02

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

Repeat !!! Это ж цикл!
;upravlenie kubom гы, научи блитз понимать русские буквы и не парься транслитом ;)
If KeyDown(200) MoveEntity cub,0,0,10
If KeyDown(208 ) MoveEntity cub,0,0,-10
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
sky=MakeSkyBox("sky") !!! создаёшь скайбокс в цикле, т.е. он создаётся у тебя примерно 30 раз в секунду. Тормоза при этом понятны.
Создавай скабокс ДО цикла и не будет тебе тормозов. ;)
ScaleEntity sky,100,100,100
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
Фигасе, я ине знал что он так копируется :dontknow:

Нет, ты не НУБ, НУБ - создатель бблиотеки Ashadow, скорее просто новис ;)

IGR 17.08.2007 12:05

Re: Всем привет, помогите мне зеленому:)
 
SeedRnd MilliSecs()
Graphics3D 640,480,16,0
SetBuffer BackBuffer()


Scool=LoadMesh("D:\my game\1\1.x")
lit=CreateLight()
cub=CreateCube()
PositionEntity cub,0,0,0
tex=LoadTexture("1.jpg")
ScaleTexture tex,10,10
EntityTexture cub,tex
ScaleEntity cub,1,.5,2
cam=CreateCamera(cub)
PositionEntity cam,x#,y#,z#
CameraRange cam,0.1,10000

sky=MakeSkyBox("sky")

Repeat
;upravlenie kubom
If KeyDown(200) MoveEntity cub,0,0,10
If KeyDown(208) MoveEntity cub,0,0,-10
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0

ScaleEntity sky,100,100,100
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End

Function MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;right face
b=LoadBrush( file$+"_LF.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;back face
b=LoadBrush( file$+"_BK.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;left face
b=LoadBrush( file$+"_RT.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;top face
b=LoadBrush( file$+"_UP.bmp",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m

End Function

ненадо функцию в главном коде вызивать !!

PIRSER 17.08.2007 12:10

Re: Всем привет, помогите мне зеленому:)
 
Ребяты спасибо!!! Воткну ка я вам по плюселю! Все работает, все ок.

To АВТОМАТ. Значит все, что создается в цикле, создается 30 в секунду. Т.е. обнавляется, так? А то, что до цикла, единажды, я все правильно понял?

IGR 17.08.2007 12:13

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

To АВТОМАТ. Значит все, что создается в цикле, создается 30 в секунду. Т.е. обнавляется, так? А то, что до цикла, единажды, я все правильно понял?
только не 30 раз , а равно столько сколько цыклов происходит за 1 секунду !!

PIRSER 17.08.2007 12:18

Re: Всем привет, помогите мне зеленому:)
 
А сколько их происходит, как это узнать?

ABTOMAT 17.08.2007 12:22

Re: Всем привет, помогите мне зеленому:)
 
Уважаемые, я примерно сказал 30 раз - чтоб не грузить всякими FPS'ами. 30 раз - т.е. 30 FPS.
Как узнать? Измеряй время до цикла и после цикла х\затем несложной арифметикой вычисля время, за которое он прошёл, и на это число дели 1000 (1 секунда = 1000 миллисекунд) - вот те и FPS

смотри в хелпе команду Millsecs ()

IGR 17.08.2007 12:26

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

А сколько их происходит, как это узнать?
ето счётчик ФПС !!
посмотри в разделе функции или в факе !!

IGR 17.08.2007 13:49

Re: Всем привет, помогите мне зеленому:)
 
кста , вот эта функция :
vFPS=MilliSecs()
If vFPS-vLastFPS>1000
vShowFPS=vCurFPS
vLastFPS=vFPS
vCurFPS=0
Else
vCurFPS=vCurFPS+1
End If
Text 5,5,"FPS: "+vShowFPS


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

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