[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Оптимизация кода и поиск ошибок
OptimusДата: Четверг, 15 Апреля 2010, 16:31 | Сообщение # 1
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
Code
Graphics3D 640,480  
SetBuffer BackBuffer()  

Global Menu  
Global sndMusicLoop
Global user
Global cam
Global startimage
Global cursor

Const USERT=1
Const KARTA=2

Collisions USERT,KARTA,2,2
Collisions HUMANT,KARTA,2,2

Function menu()
Cls
menu=LoadImage("menu\MenuImage.jpg")
startimage=LoadImage("menu\start.png")
cursor=LoadImage("menu\cursor.png")
DrawImage menu,0,0
DrawImage startimage,200,200
DrawImage cursor,MouseX(),MouseY()
If ImagesCollide(startimage,200,200,0,cursor,MouseX(),MouseY(),0) And MouseHit(1) Then
game_new()
Else
End If
HidePointer
End Function

mx#=MouseX()
my#=MouseY()

Function create_user()
user=CreateSphere()
ScaleEntity user,3,3,3
PositionEntity user,20,3,0
EntityType user,USERT  

cam=CreateCamera(user)

CameraRange cam,0.1,10000
End Function  

Function update_user()
u#=70
speeduser#=0.15
gravity#=0.98
MoveEntity user,0,-gravity#,0
If KeyDown(42) Then speeduser#=0.1
If KeyDown(17) Then MoveEntity user,0,0,speeduser#
If KeyDown(31) Then MoveEntity user,0,0,-speeduser#
If KeyDown(30) Then MoveEntity user,-speeduser#,0,0
If KeyDown(32) Then MoveEntity user,speeduser#,0,0
TurnEntity cam,MouseYSpeed(),0,0
TurnEntity user,0,-MouseXSpeed(),0
   MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
   If Abs(EntityPitch#(cam))>u# RotateEntity cam,u#*Sgn(EntityPitch#(cam)),0,0

End Function

Function game_new()

create_user()
tower=LoadMesh("models\tower\tower.b3d")
EntityType tower,KARTA
EntityRadius tower,5
fntArial=LoadFont("arial cyr",24,False,False,False)
SetFont fntArial

End Function

menu()
While Not KeyDown(1)=1  
update_user()
menu()
UpdateWorld
RenderWorld
Flip  
Wend  
End  

entity does not exist
базарит на строчку
Code
MoveEntity user,0,-gravity#,0

ах да, и предложите как оптимизировать код. И третье=когда подчистую убираю все из функции update_user то выводится меню. В меню тормозит курсор worthy butcher bomb


Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
 
OptimusДата: Четверг, 15 Апреля 2010, 17:18 | Сообщение # 2
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
а как сделать? если поставишь эту функцию вначале menu() то чеееерный экран

Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
 
OptimusДата: Пятница, 16 Апреля 2010, 18:58 | Сообщение # 3
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
ладно, переделаю вопрос:можно ли вообще нормально сделать и как?
п.с. сон приснился, хде мне сказали типо если поставить

Code
update_user()

в начале функции menu() то и получаецца черный экран и сказали типо создается сначала 3d объект)
Quote
а как сделать? если поставишь эту функцию вначале menu() то чеееерный экран

lazy


Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox

Сообщение отредактировал Optimus - Пятница, 16 Апреля 2010, 18:59
 
OptimusДата: Суббота, 17 Апреля 2010, 15:38 | Сообщение # 4
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
Jack, +1. тормоза начали идти после меню. Да и в меню тоже.
добавил счетчик фпс. В меню почему-то 8-9, в игре 5-. Начал разбираться. Удалил из кода все, что связано с меню. Фпс по волшебному стало 58-66. ТАК ВОТ ГДЕ СОБАКА ЗАРЫТА!!!!!!
Code
Graphics3D 640,480   
SetBuffer BackBuffer()   

Global Menu   
Global sndMusicLoop  
Global user  
Global cam  
Global startimage  
Global cursor  

Const USERT=1  
Const KARTA=2  

Collisions USERT,KARTA,2,2  
Collisions HUMANT,KARTA,2,2  

Function create_user()  

user=CreateSphere()  
ScaleEntity user,3,3,3  
PositionEntity user,20,3,0  
EntityType user,USERT   

cam=CreateCamera(user)  

CameraRange cam,0.1,10000  

End Function   

Function update_user()  
u#=70  
speeduser#=0.15  
gravity#=0.98  
MoveEntity user,0,-gravity#,0  
If KeyDown(42) Then speeduser#=0.1  
If KeyDown(17) Then MoveEntity user,0,0,speeduser#  
If KeyDown(31) Then MoveEntity user,0,0,-speeduser#  
If KeyDown(30) Then MoveEntity user,-speeduser#,0,0  
If KeyDown(32) Then MoveEntity user,speeduser#,0,0  
TurnEntity cam,MouseYSpeed(),0,0  
TurnEntity user,0,-MouseXSpeed(),0  
    MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5  
    If Abs(EntityPitch#(cam))>u# RotateEntity cam,u#*Sgn(EntityPitch#(cam)),0,0  

End Function  

Function game_new()  

create_user()  
tower=LoadMesh("models\tower\tower.b3d")
EntityType tower,KARTA  
EntityRadius tower,5  
fntArial=LoadFont("arial cyr",24,False,False,False)  
SetFont fntArial  

End Function  

game_new()  
While Not KeyDown(1)=1   
update_user()
UpdateWorld  
RenderWorld  

vFPS=MilliSecs()  
If vFPS-vLastFPS>1000  
   vShowFPS=vCurFPS  
   vLastFPS=vFPS  
   vCurFPS=0  
Else  
   vCurFPS=vCurFPS+1  
End If  
Text 5,5,"FPS: "+vShowFPS

Flip   
Wend   
End


Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
 
OptimusДата: Суббота, 17 Апреля 2010, 18:53 | Сообщение # 5
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
Эта функция жрет 50(!!!!!!!!!!) фпс:
Code
Function menu()
user_created=False  
Cls  
menu=LoadImage("menu\MenuImage2.jpg")  
startimage=LoadImage("menu\start.png")  
cursor=LoadImage("menu\cursor.png")  
DrawImage menu,0,0  
DrawImage startimage,200,200  
DrawImage cursor,MouseX(),MouseY()
If ImagesCollide(startimage,200,200,0,cursor,MouseX(),MouseY(),0) And MouseHit(1) Then  
game_new()
Else  
End If  
HidePointer  
End Function

help dash


Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
 
OptimusДата: Воскресенье, 18 Апреля 2010, 10:17 | Сообщение # 6
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
Jack, +1 офигенно помог. ТОЧНО!!Пересмотрел код-действительно-цикл начинается заново и заново все грузитсо!!!!! Счас сделаю функцию, чтоб все материалы игры загружались перед началом игры, кромет тех которые можно сменить.

Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
 
OptimusДата: Воскресенье, 18 Апреля 2010, 17:01 | Сообщение # 7
Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
я офигенный перерыв сделал и все забыл

Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
 
  • Страница 1 из 1
  • 1
Поиск: