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


  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: Spidy, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 2D программирование » Проблемы с меню
Проблемы с меню
AlexandrXДата: Понедельник, 18.01.2010, 18:26 | Сообщение # 11
ламер
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Попробуй замени:

Code
key_options_off=LoadImage("d:\strategy\keys\Loading.bmp")

на

Code
key_options_off=LoadImage("d:/strategy/keys/Loading.bmp")
 
VirusssДата: Четверг, 21.01.2010, 07:11 | Сообщение # 12
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
AlexandrX, прикол такой возник, я создал камеру и она "перекрыла" картинки! Токо вот теперь иная проблема: первая картинка появляется и, сменяется второй
(обе на весь экран), а маленькие картинки что я вывожу потом - не показывает. Даю код для ясности:
Code
Loading=LoadImage("d:\strategy\keys\Loading.bmp")
DrawImage Loading,0,0
Delay 5000
Interface=LoadImage("D:\Strategy\Keys\FuriousCharge.bmp")
key_exit_off=LoadImage("D:\Strategy\Keys\key_exit_off.bmp")
ResizeImage key_exit_off,0.2,0.2
key_exit_on=LoadImage("D:\Strategy\Keys\key_exit_on.bmp")
ResizeImage key_exit_on,0.2,0.2
key_load_off=LoadImage("D:\Strategy\Keys\key_load_off.bmp")
ResizeImage key_load_off,0.2,0.2
key_load_on=LoadImage("D:\Strategy\Keys\key_load_on.bmp")
ResizeImage key_load_on,0.2,0.2
key_options_off=LoadImage("D:\Strategy\Keys\key_options_off.bmp")
ResizeImage key_options_off,0.2,0.2
key_options_on=LoadImage("D:\Strategy\Keys\key_options_on.bmp")
ResizeImage key_options_on,0.2,0.2
key_play1=LoadImage("D:\Strategy\Keys\key_play2.bmp")
ResizeImage key_play1,0.2,0.2
key_play_pressed=LoadImage("D:\Strategy\Keys\key_play_pressed.bmp")
ResizeImage key_play_pressed,0.2,0.2
load_the_game=LoadImage("D:\Strategy\Keys\Load_the_game")

это часть кода...сначала выводится loading а потом Interface и все

Добавлено (21.01.2010, 07:11)
---------------------------------------------
Ну так как мне быть?

 
blitz3dДата: Четверг, 21.01.2010, 09:59 | Сообщение # 13
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
Надеюсь ты используешь функцию ResizeImage не в игровом цикле так как она может требовать большого количества ресурсов. Если ты планируешь изменить размеры картинок сделай это заблаговременно.

В твоем примере изображения превращаются в размер 0px x 0px и соответственно их не видно, пользуйся значениями от 1 и выше

Лови нормальную функцию ресайза

Code

Function DrawSizeImage(image,x%,y%,w%,h%)
      Local ih%=ImageHeight(image)
      Local iw%=ImageWidth(image)

      Local sw%=Abs(w)
      Local sh%=Abs(h)
       
      Local xr#=(Float(iw)/Float(sw))
      Local yr#=(Float(ih)/Float(sh))
       
      fromimg=ImageBuffer(image)
      toimg=ImageBuffer(scratch)
       
      Local vf=-1+((h>0)*2)
       
      Local fw=(w<0)*w
      Local fh=(h<0)*h

      If w>=0
           For ix=0 To sw          
                CopyRect ix*xr,0,1,ih,ix,0,fromimg,toimg
           Next
      Else
           For ix=0 To sw
          CopyRect ix*xr,0,1,ih,sw-ix,0,fromimg,toimg
           Next
      EndIf
       

      For iy=0 To sh
           CopyRect 0,iy*yr,sw,1,x+fw,y+(iy*vf),toimg
      Next

End Function


перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
VirusssДата: Воскресенье, 24.01.2010, 16:20 | Сообщение # 14
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Quote (blitz3d)
В твоем примере изображения превращаются в размер 0px x 0px и соответственно их не видно, пользуйся значениями от 1 и выше Лови нормальную функцию ресайза

blitz3d, я тебе ооочень благодарен, я парился уже бог знает скоко...А функция ресайза ведь и стандартная есть? ScaleImage, я терь ей пользуюсь.

Добавлено (24.01.2010, 16:18)
---------------------------------------------
Так, не прошло и пары дней а на носу новая проблема... У меня меню устороено таким образом: Есть один большой цикл с подциклами. Каждый подциккл
типа While, и зависит от параметра Enather_menu_mode, чему он равен тот цикл и выполняется, ну там опцыи, картинка и курсор. Токо вот проблема:
выполняется токо 1 подцикл(первый) а так куда ни жму - не хочет. В дополнении ко всему еще в подменюшках курсор(картинка) не двигается! Где я мог
ошыбится?

Добавлено (24.01.2010, 16:20)
---------------------------------------------

Code
Function menu()
Enather_manu_mode=0
While Not KeyHit(1) Or  Enather_manu_mode=4
HidePointer

While  Enather_manu_mode=0
mx#=MouseX()
my#=MouseY()

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 Then DrawImage key_play_pressed,240,100:DrawImage Cursor,mx#,my#

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

If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1) Then DrawImage key_load_on,240,150:Enather_manu_mode=1:DrawImage Cursor2,mx#,my#  

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) Then DrawImage key_options_on,240,200:DrawImage Cursor,mx#,my#:Enather_manu_mode=3  

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

RenderWorld
Flip
Wend

While Enather_manu_mode=1
DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#
If KeyHit(14) Then Enather_manu_mode=0
DrawImage Cursor,mx#,my#
RenderWorld
Flip
Wend

While Enather_manu_mode=3
DrawImage options,0,0:DrawImage Cursor,mx#,my#
If KeyHit(14) Then Enather_manu_mode=0
DrawImage Cursor,mx#,my#
RenderWorld
Flip
Wend

Wend
End Function

Добавлено (24.01.2010, 16:20)
---------------------------------------------
вот код

 
turBOДата: Воскресенье, 24.01.2010, 20:19 | Сообщение # 15
Полковник
Группа: Администраторы
Сообщений: 297
Награды: 5
Репутация: 12
Статус: Offline
Первый цикл
Code
While  Enather_manu_mode=0
...
Wend

бесконечен, поскольку параметр Enather_manu_mode равен 0 и не меняется в цикле. Если бы было While Enather_manu_mode<>0 либо в теле цикла Enather_manu_mode становился не ноль - тогда другое дело!


If 2+2<>4 Then Restart
 
Форум мира Blitz3D » Язык Blitz3D » 2D программирование » Проблемы с меню
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: