[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Срочно нужна ПОМОЩЬ!!! (бьюсь уже долго,но не выходит!!!)
Срочно нужна ПОМОЩЬ!!!
VirusssДата: Суббота, 30.01.2010, 18:12 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Code
Function menu()

While  Not KeyHit(1)=True
mx#=MouseX()
my#=MouseY()
HidePointer
Color 0,0,0

DrawImage Interface,0,0

DrawImage key_play1,240,100
DrawImage key_load_off,240,150
DrawImage key_options_off,240,200
DrawImage key_exit_off,240,250
DrawImage Cursor,mx#,my#

If my#>100 And my#<170 And mx#>240 And mx#<380  
DrawImage key_play_pressed,240,100
DrawImage Cursor,mx#,my#
EndIf

If my#>171 And my#<250 And mx#>240 And mx#<380   
DrawImage key_load_on,240,150
DrawImage Cursor,mx#,my#
EndIf

If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1)   
   While Not KeyHit(14) Or KeyHit(1)
     mx#=MouseX()
    my#=MouseY()
    DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#
     DrawImage Cursor,mx#,my#
     RenderWorld
     Flip
   Wend
EndIf

If my#>251 And my#<300 And mx#>240 And mx#<380 Then DrawImage key_options_on,240,200:DrawImage Cursor,mx#,my#

If my#>251 And my#<300 And mx#>240 And mx#<380 And MouseHit(1)  
   Repeat  
    mx#=MouseX()
    my#=MouseY()  
    DrawImage options,0,0
    DrawImage Cursor,mx#,my#
     RenderWorld
    Flip
   Until  KeyHit(14) Or KeyHit(1)
EndIf

If my#>301 And my#<350 And mx#>240 And mx#<380  Then DrawImage key_exit_on,240,250:DrawImage Cursor,mx#,my#

If my#>301 And my#<350 And mx#>240 And mx#<380 And MouseHit(1)
Exit
EndIf    

RenderWorld
Flip
Wend

If mWave=0 Then mwave=PlaySound(sound)

End Function

выполняется только 1 цыкл, почему!?
 
deejexДата: Суббота, 30.01.2010, 18:59 | Сообщение # 2
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Code
While  Not KeyHit(1)=True

cheesygrin
Code
While  Not KeyHit(1)

К тому же
Code
While  Not KeyDown(1)






Сообщение отредактировал deejex - Суббота, 30.01.2010, 19:00
 
VirusssДата: Суббота, 30.01.2010, 19:32 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
а еси попорядку? = true писать не надо так? ну так у меня токо 1 раз так написано, я поменял но не помогло, это ведь цикл с двумя подцыклами, так вот
основной и первый выполняется, а второй не как не хочет...
 
deejexДата: Суббота, 30.01.2010, 19:39 | Сообщение # 4
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Code
Function menu()  

While  Not KeyDown(1)  
mx#=MouseX()  
my#=MouseY()  
HidePointer  
Color 0,0,0  

DrawImage Interface,0,0  

DrawImage key_play1,240,100  
DrawImage key_load_off,240,150  
DrawImage key_options_off,240,200  
DrawImage key_exit_off,240,250  
DrawImage Cursor,mx#,my#  

If my#>100 And my#<170 And mx#>240 And mx#<380   
DrawImage key_play_pressed,240,100  
DrawImage Cursor,mx#,my#  
EndIf  

If my#>171 And my#<250 And mx#>240 And mx#<380    
DrawImage key_load_on,240,150  
DrawImage Cursor,mx#,my#  
EndIf  

If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1)    
    While KeyHit(14)=0 And KeyHit(1)=0
      mx#=MouseX()  
     my#=MouseY()  
     DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#  
      DrawImage Cursor,mx#,my#  
      RenderWorld  
      Flip  
    Wend  
EndIf  

If my#>251 And my#<300 And mx#>240 And mx#<380 Then DrawImage key_options_on,240,200:DrawImage Cursor,mx#,my#  

If my#>251 And my#<300 And mx#>240 And mx#<380 And MouseHit(1)   
    Repeat   
     mx#=MouseX()  
     my#=MouseY()   
     DrawImage options,0,0  
     DrawImage Cursor,mx#,my#  
      RenderWorld  
     Flip  
    Until KeyHit(14)=1 Or KeyHit(1)=1
EndIf
If my#>301 And my#<350 And mx#>240 And mx#<380  Then DrawImage key_exit_on,240,250:DrawImage Cursor,mx#,my#  

If my#>301 And my#<350 And mx#>240 And mx#<380 And MouseHit(1)  
Exit  
EndIf     

RenderWorld  
Flip  
Wend  

If mWave=0 Then mwave=PlaySound(sound)  

End Function




 
VirusssДата: Суббота, 30.01.2010, 19:45 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
не пашет, пишет Program has ended! Я исправил места типа KeyHit(1) на KeyHit(1)=1,но не пашет
 
deejexДата: Суббота, 30.01.2010, 20:07 | Сообщение # 6
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Virusss, этот код является ФУНКЦИЕЙ. ты эту функцию применил?
Code


menu

Function menu()   
...
End Function




 
VirusssДата: Суббота, 30.01.2010, 20:28 | Сообщение # 7
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
после того как прописал, короче есть меню, еси наводиш и жмеш на кнопку то оно показывает другую картинку, токо прописано там все для всех кнопок,
а работает только для одной.

Добавлено (30.01.2010, 20:28)
---------------------------------------------
я могу залить и скинуть и все станет понятно еси в этом естьь необходимость?

 
deejexДата: Суббота, 30.01.2010, 22:52 | Сообщение # 8
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Quote (Virusss)
естьь необходимость?

ну-ка давай!




 
VirusssДата: Воскресенье, 31.01.2010, 14:34 | Сообщение # 9
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
http://depositfiles.com/files/d9dmlck73- исходник

Добавлено (31.01.2010, 14:34)
---------------------------------------------
ну так как? Протестите со своими картинками sad

 
SpidyДата: Понедельник, 01.02.2010, 14:24 | Сообщение # 10
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
Насколько я понял из исходника после нажатия мышкой в этих координатах my#>251 And my#<300 And mx#>240 And mx#<380 ты попадаешь в замкнутый цикл

Code
If my#>251 And my#<300 And mx#>240 And mx#<380 And MouseHit(1)  
   Repeat  
    mx#=MouseX()
    my#=MouseY()  
    DrawImage options,0,0
    DrawImage Cursor,mx#,my#
     RenderWorld
    Flip
   Until  KeyDown(14)=1 Or KeyDown(1)=1
EndIf

в котором отрисовываются только две картинки
DrawImage options,0,0
DrawImage Cursor,mx#,my#

Нашел только одно прописывание кнопки, поэтому только одна и срабатывает
Если бы ты очищал экран Cls то увидел бы, что после кликанья мышкой в указанных в условии координатах ты попадаешь в бесконечный цикл


Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Срочно нужна ПОМОЩЬ!!! (бьюсь уже долго,но не выходит!!!)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: