Как делать функции
| |
DarkHunter | Дата: Суббота, 07.05.2011, 19:25 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 38
Награды: 1
Репутация: 0
Статус: Offline
| Я вот недавно узнал что всё надо заносить в функции(или большую часть). Я правильно всё делаю? Code Graphics3D 800,600,32 SetBuffer BackBuffer() ;Type Array ;Sozdanie igroka Player=CreateSphere() ;Other CreatePlayer(0,0,0) While Not KeyDown(1) ;Other RenderWorld Flip Wend End Function CreatePlayer(x#=0,y#=0,z#=0) Light=CreateLight(player) PositionEntity Player,0,0,0 Camera=CreateCamera(Player) PositionEntity Camera,0,0,0 AmbientLight 255,255,255 End Function Function CreateLvl() Terr=LoadTerrain(map\map1.bmp) TerrTex=LoadTexture(Textures\grass.png) EntityTexture Terr,TerrTex End Function
|
|
| |
Marko | Дата: Суббота, 07.05.2011, 21:10 | Сообщение # 2 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| Quote (DarkHunter) вот недавно узнал что всё надо заносить в функции(или большую часть). Я правильно всё делаю? Code Graphics3D 800,600,32 SetBuffer BackBuffer() ;Type Array ;Sozdanie igroka Player=CreateSphere() ;Other CreatePlayer(0,0,0) While Not KeyDown(1) ;Other RenderWorld Flip Wend End Function CreatePlayer(x#=0,y#=0,z#=0) Light=CreateLight(player) PositionEntity Player,0,0,0 Camera=CreateCamera(Player) PositionEntity Camera,0,0,0 AmbientLight 255,255,255 End Function Function CreateLvl() Terr=LoadTerrain(map\map1.bmp) TerrTex=LoadTexture(Textures\grass.png) EntityTexture Terr,TerrTex End Function Ну можно начать того что твоя программа вообще не работает А насчет того что все нужно пихать в функции это бред. функция предназначенный для решения конкретной задачи т.е если ты не можешь что то сделать используя обычный код используй функции. Както так
Ошибок не делает тот, кто нечего не делает.
|
|
| |
MishanayCool | Дата: Суббота, 07.05.2011, 21:45 | Сообщение # 3 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Функции нужны дабы избежать множественных повторений и путаницы в коде. Quote (Marko) Ну можно начать того что твоя программа вообще не работает Не работате потому что нужно каждую переменную обозначить глобальной Вот так Code Global hero,Terr,TerrTex ;важная часть кода, чтобы функции работали(указываем переменные в функциях)
Graphics3D 800,600,32 SetBuffer BackBuffer() AmbientLight 255,255,255 Light=CreateLight() Camera=CreateCamera()
Player=CreatePlayer(hero,0,0,0)
level=CreateLevel("map\map.bmp","Textures\gras s.png") While Not KeyDown(1)
RenderWorld() Flip Wend End
Function CreatePlayer(x#=0,y#=0,z#=0) hero=CreateSphere() PositionEntity hero,x#,y#,z# Return hero End Function Function CreateLevel(map$,tex_terrain$) Terr=LoadTerrain(map$) TerrTex=LoadTexture(tex_terrain$) EntityTexture Terr,TerrTex Return Terr End Function Код всё равно не будет работать, потому что нужны текстуры указанные в коде.
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Суббота, 07.05.2011, 21:50 |
|
| |
Marko | Дата: Суббота, 07.05.2011, 22:10 | Сообщение # 4 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| Quote (Marko) Не работате потому что нужно каждую переменную обозначить глобальной Вот так Code Global hero,Terr,TerrTex ;важная часть кода, чтобы функции работали(указываем переменные в функциях) Graphics3D 800,600,32 SetBuffer BackBuffer() AmbientLight 255,255,255 Light=CreateLight() Camera=CreateCamera() Player=CreatePlayer(hero,0,0,0) level=CreateLevel("map\map.bmp","Textures\gras s.png") While Not KeyDown(1) RenderWorld() Flip Wend End Function CreatePlayer(x#=0,y#=0,z#=0) hero=CreateSphere() PositionEntity hero,x#,y#,z# Return hero End Function Function CreateLevel(map$,tex_terrain$) Terr=LoadTerrain(map$) TerrTex=LoadTexture(tex_terrain$) EntityTexture Terr,TerrTex Return Terr End Function Quote (MishanayCool) Код всё равно не будет работать, потому что нужны текстуры указанные в коде. А как насчет просто элементарных синтаксических ошибок? ( в данном конкретном случае отсутствие "" ) Quote (DarkHunter) Terr=LoadTerrain(map\map1.bmp) TerrTex=LoadTexture(Textures\grass.png) P.S А вообще пост не об этом так что реализация программы была вообще лишней
Ошибок не делает тот, кто нечего не делает.
|
|
| |
MishanayCool | Дата: Суббота, 07.05.2011, 22:39 | Сообщение # 5 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Quote (Marko) А как насчет просто элементарных синтаксических ошибок? ( в данном конкретном случае отсутствие "" Не стал заострять на этом внимание, так как Debug Blitz'а указал бы на ошибку и программер догадался бы где нужно исправить ошибку. А вот не работающие функции из-за не объявленных глобальных переменных Debug не поможет это нужно знать наверняка.
MiniDemo3D - Blitz3D
|
|
| |
DarkHunter | Дата: Воскресенье, 08.05.2011, 08:28 | Сообщение # 6 |
ламер
Группа: Пользователи
Сообщений: 38
Награды: 1
Репутация: 0
Статус: Offline
| Блин! А в уроке BlitzEtCetera создаём FPS, всё в функции запихали... Значит урок кривой?
|
|
| |
MishanayCool | Дата: Воскресенье, 08.05.2011, 16:04 | Сообщение # 7 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Quote (DarkHunter) Блин! А в уроке BlitzEtCetera создаём FPS, всё в функции запихали... Значит урок кривой? Можно и всё запихать, это кому как нравится. Урока не видел, поэтому кривой он или нет не знаю, но думаю что там всё в порядке. Всё просто, код работает значит всё в порядке, а насколько грамотно поставлен код это важно только для себя. Главное поставленная цель работает.
MiniDemo3D - Blitz3D
|
|
| |
DarkHunter | Дата: Воскресенье, 08.05.2011, 16:08 | Сообщение # 8 |
ламер
Группа: Пользователи
Сообщений: 38
Награды: 1
Репутация: 0
Статус: Offline
| А что будет если создать функции с названием написанным кирилицей?
|
|
| |
MishanayCool | Дата: Воскресенье, 08.05.2011, 16:12 | Сообщение # 9 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Я уже писал что будет вот здесь Форум Blitz3D > 3D мир > Шрифты
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Воскресенье, 08.05.2011, 16:12 |
|
| |
DarkHunter | Дата: Воскресенье, 08.05.2011, 16:13 | Сообщение # 10 |
ламер
Группа: Пользователи
Сообщений: 38
Награды: 1
Репутация: 0
Статус: Offline
| MishanayCool, У меня можно писать кирилицей, я имею ввиду функция будет функционировать?
|
|
| |
|