|
03.01.2010, 17:02
|
#1
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Картинка мигает
Вобщем делаю меню,и столкнулся с проблемой:
Graphics3D 1024,768,16,1
SetBuffer BackBuffer()
levels$ = "Menu"
While Not KeyDown(1)
If levels = "Menu" Then
menu()
levels = "NotLevels"
End If
UpdateWorld
RenderWorld
Flip
Wend
End
;=======================
;=== MENU ===
;=======================
Function menu()
ClearWorld
Cls
MenuBackground = LoadImage("Data\image\menu.bmp")
DrawImage MenuBackground,0,0
End Function
Когда в полноекранном режиме то фон мигает,
а когда не в полноекранном режиме то все нормально.
С чем ето связано?И как исправить?
__________________
StimuL
Maks
|
(Offline)
|
|
03.01.2010, 17:05
|
#2
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Картинка мигает
Global MenuBackground
....
UpdateWorld
RenderWorld
DrawImage MenuBackground,0,0
Flip
...
Function menu()
ClearWorld
;Cls
MenuBackground = LoadImage("Data\image\menu.bmp")
;DrawImage MenuBackground,0,0
End Function
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
03.01.2010, 17:13
|
#3
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Ответ: Картинка мигает
impersonalis
а если когда игра перейдет к первому уровню, мне уже не понадобиться етот фон, и я очищу память от него.
А потом в игре нажму паузу,чтобы вернуться в главное меню,
и его прийдеться загружать уже из функции.
Можно зделать чтобы функция загружала картинку,и рисовала исправно?
__________________
StimuL
Maks
|
(Offline)
|
|
03.01.2010, 17:33
|
#4
|
Бывалый
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений (для 858 пользователей)
|
Ответ: Картинка мигает
KingMaks
Товарищ, понимание превыше всего!
Универсально это выглядит в вашем случае так
Функция Пофиг()
Грузим ресурсы
Цикл и обработка и пишем в переменную ЧтоДальшеДелать
Рвём цикл
Выгружаем ресурсы
Return ЧтоДальшеДелать
конец функции
|
(Offline)
|
|
03.01.2010, 20:14
|
#5
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Ответ: Картинка мигает
pinqin
почему тогда не в полноекранном режиме нормально работает?
__________________
StimuL
Maks
|
(Offline)
|
|
03.01.2010, 20:33
|
#6
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Картинка мигает
Где то был забыт Filp. из за него и мигает. И вообще что то я структуру кода не понял...
|
(Offline)
|
|
03.01.2010, 20:50
|
#7
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,356
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Картинка мигает
CLS лишний:
Graphics3D 1024,768,16,1
SetBuffer BackBuffer()
levels$ = "Menu"
While Not KeyDown(1)
If levels = "Menu" Then
menu()
levels = "NotLevels"
End If
UpdateWorld
RenderWorld
Flip
Wend
End
;=======================
;=== MENU ===
;=======================
Function menu()
ClearWorld
Cls ;<--------- вот гад (в 3D CLS не нужен)
MenuBackground = LoadImage("Data\image\menu.bmp")
DrawImage MenuBackground,0,0
End Function
|
А конструкцию:
If levels = "Menu" Then
menu()
levels = "NotLevels"
End If
|
Перениси чтоб прсле RenderWorld была.
Смотри тут какое дело:
UpdateWorld обновляет мир
RenderWorld выводит весь 3D мир в буффер
;ТУТ добавляем своё 2d в буффер ПОВЕРХ ВЫВЕДЕНОГО ранее 3D
Flip выводит на экран
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
03.01.2010, 21:16
|
#8
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Ответ: Картинка мигает
Randomize я зделал другим способом , без функции, чтобы не мигало
но всеже переделал старый способ как ты сказал:
Graphics3D 1024,768,16,1
SetBuffer BackBuffer()
levels$ = "Menu"
While Not KeyDown(1)
UpdateWorld
RenderWorld
If levels = "Menu" Then
menu()
levels = "NotLevels"
End If
Flip
Wend
End
;=======================
;=== MENU ===
;=======================
Function menu()
ClearWorld
MenuBackground = LoadImage("Data\image\menu.bmp")
DrawImage MenuBackground,0,0
End Function
и серовно мигает
__________________
StimuL
Maks
|
(Offline)
|
|
03.01.2010, 21:25
|
#9
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Картинка мигает
нельзя загружать ресы в цикле.
|
(Offline)
|
|
03.01.2010, 21:34
|
#10
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Картинка мигает
KingMaks, между RenderWorld и Flip выводится 2D и там же цикл находится. Сделай две функции. В первой загружай ресурсы и указывай размер картинок (если надо ), а во второй рендер картинок ( DrawImage). Только первую функцию в цикл не ставь.
|
(Offline)
|
|
03.01.2010, 21:43
|
#11
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,356
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Картинка мигает
Oo там LoadImage!?
Епстить не заметил.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
03.01.2010, 21:50
|
#12
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Ответ: Картинка мигает
Да я уже без функций зделал.
__________________
StimuL
Maks
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:24.
|