Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 30.06.2012, 14:40   #1
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Гравитация в 2D

Вот сам прыжок
If KeyHit(82Then

    nplayer1
\vely 100
    nplayer1
\jumping True
    
EndIf  



If 
nplayer1\jumping True

    
If nplayer1\vely > -100   
             nplayer1
\vely nplayer1\vely nplayer1\accel
             nplayer1
\cory nplayer1\cory nplayer1\vely
    
EndIf

EndIf 
Выставление значений
nplayer1\vely 0
nplayer1
\accel 10
nplayer1
\jumping False 
(Offline)
 
Ответить с цитированием
Старый 30.06.2012, 14:41   #2
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Гравитация в 2D

Проблема в том, что он улетает в самый вверх. А потом быстро перемещается вниз.
(Offline)
 
Ответить с цитированием
Старый 30.06.2012, 15:03   #3
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Гравитация в 2D

Сообщение от Okay Посмотреть сообщение
Проблема в том, что он улетает в самый вверх. А потом быстро перемещается вниз.
Скорость меньше не пробовал ставить?
__________________
Ибо как сказал Бгдн:
(Offline)
 
Ответить с цитированием
Старый 30.06.2012, 15:18   #4
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Гравитация в 2D

Сообщение от Gector Посмотреть сообщение
Скорость меньше не пробовал ставить?
Пробовал. Эффект такой же
(Offline)
 
Ответить с цитированием
Старый 30.06.2012, 16:58   #5
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Гравитация в 2D

Вот весь код
Graphics 840,640,16,2
SetBuffer BackBuffer()

Global sBegin

Global mBack = LoadImage("media/menu/back.bmp")
Global mExit = LoadImage("media/menu/exit.bmp")

Global mBegin = LoadImage("media/menu/mBegin.bmp")
Global mSettings = LoadImage("media/menu/settings.bmp")
Global mgSettings = LoadImage("media/menu/settings1.bmp")
Global millibegin = MilliSecs()
Global mgBegin = LoadImage("media/menu/mgBegin.bmp")
Global sg1 = LoadImage("media/menu/startgame.bmp")
Global menuok = False
Global sg2 = LoadImage("media/menu/startgame1.bmp")
Global sgg = False
Global cursor = LoadImage("media/menu/cursor.bmp")
Global player1 = LoadImage("media/skins/player1.bmp")
Global block = LoadImage("media/level1/wall.bmp")
Global ttt = MilliSecs()
Global gravity = 1
Global velgra = 5

Global left1, right1, left2, right2

HidePointer
AppTitle "Mario War 0.1 'LOG'"

Global StartTeam = 0
Global StartTColor = 0
Global StartSkin1 = 0

Type player
Field lives
Field gun
Field kills
Field team
Field skin
Field corx
Field cory
Field tcolor
Field vely
Field accel
Field jumping
End Type 

Global nplayer1.player = New player
nplayer1\lives = 0
nplayer1\gun = 0
nplayer1\kills = 0
nplayer1\team = 0
nplayer1\skin = 0
nplayer1\corx = 0
nplayer1\cory = 0
nplayer1\vely = 0
nplayer1\accel = 10
nplayer1\jumping = False
nplayer1\tcolor = 0

Global nplayer2.player = New player
nplayer2\lives = 0
nplayer2\gun = 0
nplayer2\kills = 0
nplayer2\team = 0
nplayer2\skin = 0
nplayer2\corx = 0
nplayer2\cory = 0
nplayer2\tcolor = 0



While Not KeyDown(56) And KeyDown(62)
Cls

If menuok = True Then
    DrawImage mBegin,0,0
    If sgg = False Then
        DrawBlock sg1,220,210
        DrawBlock mSettings,220,320
        DrawBlock mExit,550,550
        If ImagesCollide(sg1,220,210,0,cursor,MouseX(),MouseY(),0) Then
            DrawBlock sg2,220,210
            If MouseHit(1) Then
                Gosub changeplayers
            EndIf
        EndIf
        If ImagesCollide(mSettings,220,320,0,cursor,MouseX(),MouseY(),0) Then
            DrawBlock mgSettings,220,320
            If MouseHit(1) Then
                Gosub settings
            EndIf
        EndIf
        If MouseHit(1) Then
            If ImagesCollide(mExit,550,550,0,cursor,MouseX(),MouseY(),0) Then
                End
            Else
            
            EndIf
        EndIf
    EndIf 
EndIf


While MilliSecs() < millibegin + 3000
DrawImage mgBegin,0,0
Wend menuok = True

FlushKeys
DrawImage cursor,MouseX(),MouseY()
Flip
Wend

.changeplayers
While Not KeyDown(56) And KeyDown(62)
Cls

If menuok = True Then
    DrawImage mBegin,0,0
    DrawBlock mBack,550,550
    If MouseHit(1) Then
        If ImagesCollide(mBack,550,550,0,cursor,MouseX(),MouseY(),0) Then
            Return
        Else
  
        EndIf
    EndIf
EndIf

If KeyDown(28) Then
    Gosub StartGame
    gravity = 1
EndIf 


FlushKeys
DrawImage cursor,MouseX(),MouseY()
Flip
Wend



.settings
While Not KeyDown(56) And KeyDown(62)
Cls

If menuok = True Then
    DrawImage mBegin,0,0
    DrawBlock mBack,550,550
    If MouseHit(1) Then
        If ImagesCollide(mBack,550,550,0,cursor,MouseX(),MouseY(),0) Then
            Return
        Else

        EndIf
    EndIf
EndIf


FlushKeys
DrawImage cursor,MouseX(),MouseY()
Flip
Wend 


.StartGame
OnPlayer1Spawn()
OnPlayer2Spawn()
Global speedss = 5
Repeat
Cls

nplayer1\cory = nplayer1\cory + velgra
velgra = 5

If right1 = 1 Then
    DrawImageRect player1,nplayer1\corx,nplayer1\cory,0,0,25,31
EndIf 

If left1 = 2 Then
    DrawImageRect player1,nplayer1\corx,nplayer1\cory,78,0,103,31
EndIf 

DrawBlock block,300,600

If KeyDown(203) Then
    nplayer1\corx = nplayer1\corx - 1.6
    right1 = 2
    left1 = 2
EndIf

If KeyDown(205) Then
    nplayer1\corx = nplayer1\corx + 1.6
    right1 = 1
    left1 = 1
EndIf

If KeyDown(203) And KeyDown(77) Then
    nplayer1\corx = nplayer1\corx - 2.3
    right1 = 2
    left1 = 2
EndIf

If KeyDown(205) And KeyDown(77) Then
    nplayer1\corx = nplayer1\corx + 2.3
    right1 = 1
    left1 = 1
EndIf

If KeyHit(82) Then

	nplayer1\vely = 70
	nplayer1\jumping = True
	
EndIf  



If nplayer1\jumping = True

	If nplayer1\vely > -100   
             nplayer1\vely = nplayer1\vely - nplayer1\accel
             nplayer1\cory = nplayer1\cory - nplayer1\vely
	EndIf

EndIf

If nplayer1\cory <= 0

	nplayer1\vely = 0
	nplayer1\jumping = False
EndIf

If ImagesCollide(player1,nplayer1\corx,nplayer1\cory,0,block,300,600,0) Then
        velgra = 0
EndIf

If nplayer1\cory > 640 Then
    nplayer1\cory = 0
EndIf

FlushKeys
Flip
Forever



Function OnPlayer1Spawn()

right1 = 1
left1 = 1 

Local Spawnx = Rnd(1,840)
Local Spawny = Rnd(1,640)

nplayer1\corx = Spawnx
nplayer1\cory = Spawny

StartLocalGame()

gravity = 1
End Function



Function OnPlayer2Spawn()

Local Spawnx = Rnd(0,840)
Local Spawny = Rnd(0,640) 

nplayer1\corx = Spawnx
nplayer1\cory = Spawny

StartLocalGame()

End Function


Function StartLocalGame()

nplayer1\lives = StartLives
nplayer1\kills = StartKills
nplayer1\team = StartTeam1
nplayer1\tcolor = StartTColor1

nplayer2\lives = StartLives
nplayer2\kills = StartKills
nplayer2\team = StartTeam2
nplayer2\tcolor = StartTColor2

End Function


Function OnPlayer1Death()

nplayer1\lives = nplayer1\lives - 1
OnPlayer1Spawn()

End Function


Function OnPlayer2Death()

nplayer2\lives = nplayer2\lives - 1
OnPlayer2Spawn()

End Function 


Function AI()

If nplayer1\cory > nplayer2\cory Then Jump()

If nplayer1\corx > nplayer2\corx Then GoRight()
If nplayer1\corx < nplayer2\corx Then GoLeft()

If nplayer1\cory = nplayer2\cory Then JumpAttack()

If nplayer2\gun = 1 And 2 And 3 Then Attack()

End Function
 


Function Jump()

Local jn1cory
Local trt = MilliSecs()
    Repeat
    If ImagesCollide(player1,nplayer1\corx,nplayer1\cory,0,block,300,600,0) Then
            nplayer1\cory = nplayer1\cory - (3*2)
            
    Else

    EndIf
    Until MilliSecs() < (trt + 2000)
End Function




Function GoLeft()

nplayer2\corx = nplayer2\corx - 0.1

End Function


Function GoRight()

nplayer2\corx = nplayer2\corx + 0.1

End Function


Function JumpAttack()

End Function


Function Attack()

End Function
(Offline)
 
Ответить с цитированием
Старый 05.08.2012, 11:07   #6
pepel
Мастер
 
Аватар для pepel
 
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений
(для 2,526 пользователей)
Ответ: Гравитация в 2D

Сообщение от Okay Посмотреть сообщение
Вот весь код
Graphics 840,640,16,2
SetBuffer BackBuffer()

Global sBegin

Global mBack = LoadImage("media/menu/back.bmp")
Global mExit = LoadImage("media/menu/exit.bmp")

Global mBegin = LoadImage("media/menu/mBegin.bmp")
Global mSettings = LoadImage("media/menu/settings.bmp")
Global mgSettings = LoadImage("media/menu/settings1.bmp")
Global millibegin = MilliSecs()
Global mgBegin = LoadImage("media/menu/mgBegin.bmp")
Global sg1 = LoadImage("media/menu/startgame.bmp")
Global menuok = False
Global sg2 = LoadImage("media/menu/startgame1.bmp")
Global sgg = False
Global cursor = LoadImage("media/menu/cursor.bmp")
Global player1 = LoadImage("media/skins/player1.bmp")
Global block = LoadImage("media/level1/wall.bmp")
Global ttt = MilliSecs()
Global gravity = 1
Global velgra = 5
ты картинки то выложи, а то код не запускается,желательно раром
(Offline)
 
Ответить с цитированием
Старый 06.08.2012, 09:29   #7
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Гравитация в 2D

Начну с хорошего - выкладываю подправленный код.
Из плохого: код ужасен из-за использавания GOSUB, и имена переменных не по мне.

Что было неправильно:
- в типе player все поля были целочисленные, но для ускорения и скорости это не подходит.
- зачем ты проверял на улёт выше экрана? пусть летит, всё равно вернётся назад при правильной формуле
- из координаты Y гравитацию вычитать надо только если мы не в состоянии прыжка, т.к. прыжок отдельно обрабатывается
- при достижении земли (у тебя это у=640) ты зачем-то ставишь игрока в координату у=0, т.е. на небо, а надо оставлять на земле

Вот код, работает без картинок, вывод картинок закомментировал. Из графики есть только прямоугольный пол и квадратный игрок.

Graphics 840,640,16,2
SetBuffer BackBuffer()

Global sBegin

Global mBack = LoadImage("media/menu/back.bmp")
Global mExit = LoadImage("media/menu/exit.bmp")

Global mBegin = LoadImage("media/menu/mBegin.bmp")
Global mSettings = LoadImage("media/menu/settings.bmp")
Global mgSettings = LoadImage("media/menu/settings1.bmp")
Global millibegin = MilliSecs()
Global mgBegin = LoadImage("media/menu/mgBegin.bmp")
Global sg1 = LoadImage("media/menu/startgame.bmp")
Global menuok = False
Global sg2 = LoadImage("media/menu/startgame1.bmp")
Global sgg = False
Global cursor = LoadImage("media/menu/cursor.bmp")
Global player1 = LoadImage("media/skins/player1.bmp")
Global block = LoadImage("media/level1/wall.bmp")
Global ttt = MilliSecs()
Global gravity = 1
Global velgra = 5

Global left1, right1, left2, right2

HidePointer
AppTitle "Mario War 0.1 'LOG'"

Global StartTeam = 0
Global StartTColor = 0
Global StartSkin1 = 0

Type player
	Field lives
	Field gun
	Field kills
	Field team
	Field skin
	Field corx#
	Field cory#
	Field tcolor
	Field vely#
	Field accel#
	Field jumping
End Type 

Global nplayer1.player = New player
nplayer1\lives = 0
nplayer1\gun = 0
nplayer1\kills = 0
nplayer1\team = 0
nplayer1\skin = 0
nplayer1\corx = 0
nplayer1\cory = 0
nplayer1\vely = 0
nplayer1\accel = 10
nplayer1\jumping = False
nplayer1\tcolor = 0

Global nplayer2.player = New player
nplayer2\lives = 0
nplayer2\gun = 0
nplayer2\kills = 0
nplayer2\team = 0
nplayer2\skin = 0
nplayer2\corx = 0
nplayer2\cory = 0
nplayer2\tcolor = 0


Gosub StartGame


While Not KeyDown(56) And KeyDown(62)
	Cls
	
	If menuok = True Then
		;DrawImage mBegin,0,0
		If sgg = False Then
			;DrawBlock sg1,220,210
			;DrawBlock mSettings,220,320
			;DrawBlock mExit,550,550
;			If ImagesCollide(sg1,220,210,0,cursor,MouseX(),MouseY(),0) Then
;				DrawBlock sg2,220,210
;				If MouseHit(1) Then
;					Gosub changeplayers
;				EndIf
;			EndIf
;			If ImagesCollide(mSettings,220,320,0,cursor,MouseX(),MouseY(),0) Then
;				DrawBlock mgSettings,220,320
;				If MouseHit(1) Then
;					Gosub settings
;				EndIf
;			EndIf
;			If MouseHit(1) Then
;				If ImagesCollide(mExit,550,550,0,cursor,MouseX(),MouseY(),0) Then
;					End
;				Else
;					
;				EndIf
;			EndIf
		EndIf 
	EndIf
	
	
	While MilliSecs() < millibegin + 3000
		;DrawImage mgBegin,0,0
	Wend menuok = True
	
	FlushKeys
	;DrawImage cursor,MouseX(),MouseY()
	Flip
Wend

.changeplayers
While Not KeyDown(56) And KeyDown(62)
	Cls
	
	If menuok = True Then
		;DrawImage mBegin,0,0
		;DrawBlock mBack,550,550
		;If MouseHit(1) Then
		;	If ImagesCollide(mBack,550,550,0,cursor,MouseX(),MouseY(),0) Then
		;		Return
		;	Else
		;		
		;	EndIf
		;EndIf
	EndIf
	
	If KeyDown(28) Then
		Gosub StartGame
		gravity = 1
	EndIf 
	
	
	FlushKeys
	;DrawImage cursor,MouseX(),MouseY()
	Flip
Wend



.settings
While Not KeyDown(56) And KeyDown(62)
	Cls
	
	If menuok = True Then
		;DrawImage mBegin,0,0
		;DrawBlock mBack,550,550
		If MouseHit(1) Then
			;If ImagesCollide(mBack,550,550,0,cursor,MouseX(),MouseY(),0) Then
			;	Return
			;Else
			;	
			;EndIf
		EndIf
	EndIf
	
	
	FlushKeys
	;DrawImage cursor,MouseX(),MouseY()
	Flip
Wend 


.StartGame
OnPlayer1Spawn()
OnPlayer2Spawn()
Global speedss = 5

nplayer1\vely = 0
nplayer1\jumping = False
velgra = 5

Repeat
	Cls
	
	
	;If right1 = 1 Then
	;	Rect nplayer1\corx,nplayer1\cory,50,50,1
	;EndIf 
	
	;If left1 = 2 Then
	;	Rect nplayer1\corx,nplayer1\cory,50,50,1
	;EndIf 
	Color(200,100,100)
	Rect nplayer1\corx,nplayer1\cory,50,50,1
	
	Color(100,100,100)
	Rect 100,600,600,100,1
	
	If KeyDown(203) Then
		nplayer1\corx = nplayer1\corx - 1.6
		right1 = 2
		left1 = 2
	EndIf
	
	If KeyDown(205) Then
		nplayer1\corx = nplayer1\corx + 1.6
		right1 = 1
		left1 = 1
	EndIf
	
	If KeyDown(203) And KeyDown(77) Then
		nplayer1\corx = nplayer1\corx - 2.3
		right1 = 2
		left1 = 2
	EndIf
	
	If KeyDown(205) And KeyDown(77) Then
		nplayer1\corx = nplayer1\corx + 2.3
		right1 = 1
		left1 = 1
	EndIf
	
	If KeyHit(82) Then
		
		nplayer1\vely = 8
		nplayer1\jumping = True
		
	EndIf  
	
	
	
	If nplayer1\jumping = True
		;If nplayer1\vely > -100   
		nplayer1\vely = nplayer1\vely - nplayer1\accel*0.01
			nplayer1\cory = nplayer1\cory - nplayer1\vely
		;EndIf
	Else
		nplayer1\cory = nplayer1\cory + velgra
	EndIf
	
;	If nplayer1\cory <= 0
;		
;		nplayer1\vely = 0
;		nplayer1\jumping = False
;	EndIf
	
	;If ImagesCollide(player1,nplayer1\corx,nplayer1\cory,0,block,300,600,0) Then
    ;    velgra = 0
	;EndIf
	
	If nplayer1\cory > 550 Then ;уровень земли 600 минус 50 сам игрок = 550
		nplayer1\cory = 550
	EndIf
	
	FlushKeys
	Flip
Forever



Function OnPlayer1Spawn()
	
	right1 = 1
	left1 = 1 
	
	Local Spawnx = Rnd(1,840)
	Local Spawny = Rnd(1,640)
	
	nplayer1\corx = Spawnx
	nplayer1\cory = Spawny
	
	StartLocalGame()
	
	gravity = 1
End Function



Function OnPlayer2Spawn()
	
	Local Spawnx = Rnd(0,840)
	Local Spawny = Rnd(0,640) 
	
	nplayer1\corx = Spawnx
	nplayer1\cory = Spawny
	
	StartLocalGame()
	
End Function


Function StartLocalGame()
	
	nplayer1\lives = StartLives
	nplayer1\kills = StartKills
	nplayer1\team = StartTeam1
	nplayer1\tcolor = StartTColor1
	
	nplayer2\lives = StartLives
	nplayer2\kills = StartKills
	nplayer2\team = StartTeam2
	nplayer2\tcolor = StartTColor2
	
End Function


Function OnPlayer1Death()
	
	nplayer1\lives = nplayer1\lives - 1
	OnPlayer1Spawn()
	
End Function


Function OnPlayer2Death()
	
	nplayer2\lives = nplayer2\lives - 1
	OnPlayer2Spawn()
	
End Function 


Function AI()
	
	If nplayer1\cory > nplayer2\cory Then Jump()
	
	If nplayer1\corx > nplayer2\corx Then GoRight()
	If nplayer1\corx < nplayer2\corx Then GoLeft()
	
	If nplayer1\cory = nplayer2\cory Then JumpAttack()
	
	If nplayer2\gun = 1 And 2 And 3 Then Attack()
	
End Function



Function Jump()
	
	Local jn1cory
	Local trt = MilliSecs()
    Repeat
		If ImagesCollide(player1,nplayer1\corx,nplayer1\cory,0,block,300,600,0) Then
            nplayer1\cory = nplayer1\cory - (3*2)
            
		Else
			
		EndIf
    Until MilliSecs() < (trt + 2000)
End Function




Function GoLeft()
	
	nplayer2\corx = nplayer2\corx - 0.1
	
End Function


Function GoRight()
	
	nplayer2\corx = nplayer2\corx + 0.1
	
End Function


Function JumpAttack()
	
End Function


Function Attack()
	
End Function


Откажись от GOSUB, пожалуйста.
(Offline)
 
Ответить с цитированием
Старый 22.08.2012, 15:27   #8
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Гравитация в 2D

Сообщение от Жека Посмотреть сообщение
Начну с хорошего - выкладываю подправленный код.
Из плохого: код ужасен из-за использавания GOSUB, и имена переменных не по мне.

Что было неправильно:
- в типе player все поля были целочисленные, но для ускорения и скорости это не подходит.
- зачем ты проверял на улёт выше экрана? пусть летит, всё равно вернётся назад при правильной формуле
- из координаты Y гравитацию вычитать надо только если мы не в состоянии прыжка, т.к. прыжок отдельно обрабатывается
- при достижении земли (у тебя это у=640) ты зачем-то ставишь игрока в координату у=0, т.е. на небо, а надо оставлять на земле

Вот код, работает без картинок, вывод картинок закомментировал. Из графики есть только прямоугольный пол и квадратный игрок.

Откажись от GOSUB, пожалуйста.
Сразу скажу. Перешел на Blitzmax, но спасибо, что помог. Посмотрю свои недочеты. Сравню.
Насчет Gosub, чтоже тогда использовать? Я что-то не увидел другого оператора перехода на лейблы.
Далее.. устанавливаю y = 0, после того как он упадет в яму(То есть вниз за экран). Это так по игре нужно. игра то Mario. ахахх хотя я уже её забросил.
(Offline)
 
Ответить с цитированием
Старый 23.08.2012, 06:58   #9
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Гравитация в 2D

Метки необязательно использовать, можно использовать игровые состояния.

Global gameState%
Const STATE_MENU_MAIN% = 1
Const STATE_GAME% = 2
;Const STATE_% = 3

;В главном цикле:

if(gameState = STATE_MENU_MAIN)
  ;обрабатываем и рисуем главное меню
else if(gameState = STATE_GAME)
  ;обрабатываем и рисуем саму игру
else if(_и_так_далее_)

endif
(Offline)
 
Ответить с цитированием
Старый 23.08.2012, 17:37   #10
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Гравитация в 2D

Сообщение от Жека Посмотреть сообщение
Метки необязательно использовать, можно использовать игровые состояния.

Global gameState%
Const STATE_MENU_MAIN% = 1
Const STATE_GAME% = 2
;Const STATE_% = 3

;В главном цикле:

if(gameState = STATE_MENU_MAIN)
  ;обрабатываем и рисуем главное меню
else if(gameState = STATE_GAME)
  ;обрабатываем и рисуем саму игру
else if(_и_так_далее_)

endif
Разве это не лишняя нагрузка, так как очень много условий и каждое будет проверяться.
(Offline)
 
Ответить с цитированием
Старый 23.08.2012, 20:20   #11
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Гравитация в 2D

Сообщение от Okay Посмотреть сообщение
Разве это не лишняя нагрузка, так как очень много условий и каждое будет проверяться.
Сверяем STATE_MENU_MAIN. Если рано "1" значит все "вертится" только в этом условии, а остальные пропускаются и так далее. Проверить на нажатие кнопки тоже самое так что никакой нагрузки.
(Offline)
 
Ответить с цитированием
Старый 24.08.2012, 00:07   #12
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Гравитация в 2D

Сообщение от Nex Посмотреть сообщение
Сверяем STATE_MENU_MAIN. Если рано "1" значит все "вертится" только в этом условии, а остальные пропускаются и так далее. Проверить на нажатие кнопки тоже самое так что никакой нагрузки.
ну понятно =)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com