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

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

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

Ответ
 
Опции темы
Старый 03.01.2010, 17:02   #1
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 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
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 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
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Картинка мигает

impersonalis

а если когда игра перейдет к первому уровню, мне уже не понадобиться етот фон, и я очищу память от него.

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

Можно зделать чтобы функция загружала картинку,и рисовала исправно?
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 03.01.2010, 17:33   #4
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Картинка мигает

KingMaks
Товарищ, понимание превыше всего!

Универсально это выглядит в вашем случае так

Функция Пофиг()
Грузим ресурсы
Цикл и обработка и пишем в переменную ЧтоДальшеДелать
Рвём цикл
Выгружаем ресурсы
Return ЧтоДальшеДелать
конец функции
(Offline)
 
Ответить с цитированием
Старый 03.01.2010, 20:14   #5
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Картинка мигает

pinqin

почему тогда не в полноекранном режиме нормально работает?
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 03.01.2010, 20:33   #6
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Картинка мигает

Где то был забыт Filp. из за него и мигает. И вообще что то я структуру кода не понял...
(Offline)
 
Ответить с цитированием
Старый 03.01.2010, 20:50   #7
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Картинка мигает

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
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 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
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Картинка мигает

нельзя загружать ресы в цикле.
(Offline)
 
Ответить с цитированием
Старый 03.01.2010, 21:34   #10
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Картинка мигает

KingMaks, между RenderWorld и Flip выводится 2D и там же цикл находится. Сделай две функции. В первой загружай ресурсы и указывай размер картинок (если надо ), а во второй рендер картинок (DrawImage). Только первую функцию в цикл не ставь.
(Offline)
 
Ответить с цитированием
Старый 03.01.2010, 21:43   #11
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Картинка мигает

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
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Картинка мигает

Да я уже без функций зделал.
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
инвертированная картинка mustaeed MidletPascal 11 24.07.2009 23:04
Картинка в 2D над картинкой 3D Spiderman 2D-программирование 6 29.05.2009 01:01
Картинка на картинке Petrofan 3D-программирование 5 15.12.2008 20:17
Картинка взрыва Spiderman 2D-программирование 7 15.08.2008 11:48
Картинка на заднем фоне??? untonee 3D-программирование 13 20.10.2006 17:12


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


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