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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 14.03.2010, 19:51   #1
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Не пишется текст на текстуре

И снова я.))) Пытался своими силами разобраться в чём прикол, но не смог, по этому надеюсь на помощь тут, вы меня столько раз уже выручали.) В общем пытаюсь на текстуре через буфер текстур написать надпись. Вот отрывок кода:

tex=LoadTexture("batt_menu_sub2.tga",2)
SetBuffer TextureBuffer(tex)
;Cls
Color 190,190,190
Rect 10,10,300,50
Color 0,0,0
font=LoadFont ("Arial",34)
SetFont font
Text 0,0,",kf ,kf ,kf"
Color 255,255,255
SetBuffer BackBuffer
EntityTexture batt_menu_sub,tex


так вот, прямоугольник рисуется, но ненормально, точнее у меня текстура всего-то 330 на 79 пикселей, однако прямоугольник не занимает и четверти текстуры, хотя должен занять всю. А вот текст кообще не выводится, какого бы размера шрифт я не ставил.( Из-за чего это может быть?

И ещё, можно лди как-то избавиться от моргания экрана при этом?

Заранее всем огромное спасибо.
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 20:42   #2
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Не пишется текст на текстуре

при загрузке текстуры в блитц она автоматически масштабируется под размер кратный двум, то есть было у тебя разрешение 330 на 79, а стало 512 на 128.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
battou (14.03.2010)
Старый 14.03.2010, 21:09   #3
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Не пишется текст на текстуре

А не подскажешь как тогда мне написать текст на текстуре? Очень надо, неохота создовать 50 разных текстур различающихся только надписью.
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 21:17   #4
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Не пишется текст на текстуре

Сейчас подогнал размеры самой текстуры под 256х64, теперь прямоугольник как положено рисуется, а теста всё равно нет, хотя я вижу что и шрифты меняются и тп, но на текстуру он не записывается.(
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 21:30   #5
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Не пишется текст на текстуре

понял в чём проблема.((( Текст не пишется на текстуру если она с альфа каналом загружена.( Если без альфы гружу то текст рисуется. Блин.((( Кто-нить знает как это обойти?
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 23:12   #6
L.D.M.T.
Бывалый
 
Аватар для L.D.M.T.
 
Регистрация: 10.06.2006
Сообщений: 808
Написано 354 полезных сообщений
(для 832 пользователей)
Ответ: Не пишется текст на текстуре

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

Function errtex()
dela=CreateTexture(256,256)
SetBuffer TextureBuffer(dela)
ClsColor 32,32,255:Cls
font222=LoadFont("Tahoma",78,1)
SetFont font222:Color 255,255,255
Text 45,40,"Error":Text 10,110,"texture"
SetBuffer BackBuffer() :ClsColor 0,0,0
FreeFont font222:SetFont font:Return dela
End Function
__________________
Per Aspera Ad Astra...
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 23:38   #7
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Не пишется текст на текстуре

Эммм... не совсем понял что возвращает эта функция и как она поможет мне писать текст на моей уже существующей текстуре? Если не сложно можешь подробнее описать её применение?
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 00:02   #8
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Не пишется текст на текстуре

Ладно, фиг с ним, буду исспользовать без альфы текстуру. ТОгда другая проблема. мне надо что бы на каждой новой кнопке в типе писался разный текст который берётся из массива. Но у меня получается что у всех одна и таже текстура на которой друг на друга наложен весь их текст.( Вот код:

For i=1 To 100
If items$(i,2)>0
sub_count=sub_count+1
sub_y#=sub_y#+0.04
e.submenu=New submenu
e\item_name$=items$(i,1)
e\item_step=sub_count
e\batt_menu_sub=CreateSprite(camera)
e\xscale#=0.1
e\yscale#=e\xscale#/4.35
;tex666=CreateImage(256,64)
e\tex=LoadTexture ("batt_menu_sub.jpg")
ScaleSprite e\batt_menu_sub,e\xscale#,e\yscale#
SpriteViewMode e\batt_menu_sub,2
;Color 90,90,90
;Text 15,15,",kf ,kf ,kf"
;Color 255,255,255
SetBuffer TextureBuffer(e\tex)
;Cls
;Color 150,150,150
;Rect 10,10,200,40
Color 210,210,210
font_item=LoadFont ("Arial",16)
SetFont font_item
Text 15,15,items$(i,3)
Color 255,255,255
SetBuffer BackBuffer
EntityTexture e\batt_menu_sub,e\tex
PositionEntity e\batt_menu_sub,-0.28,sub_y#,0.9
FreeTexture e\tex
EndIf
Next


Как сделать так что бы текстура разной была на каждой следующей кнопке, а не все надписи сливались на одно теекстуре?
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 07:50   #9
L.D.M.T.
Бывалый
 
Аватар для L.D.M.T.
 
Регистрация: 10.06.2006
Сообщений: 808
Написано 354 полезных сообщений
(для 832 пользователей)
Ответ: Не пишется текст на текстуре

теперь ты снова столкнулся с проблемой, которая постигла и меня...
по задумке автора блица текстура с одним и тем же именем не грузится 2 раза, дабы избежать повторов
__________________
Per Aspera Ad Astra...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (15.03.2010)
Старый 15.03.2010, 08:44   #10
SKA_DIMKA
ПроЭктировщик
 
Аватар для SKA_DIMKA
 
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений
(для 53 пользователей)
Ответ: Не пишется текст на текстуре

Ладно, фиг с ним, буду исспользовать без альфы текстуру.
А может ты когда текстом ресуешь (цвет текста темный) и от этого цвет не видем, так как альфа становится прозрачной как и текст.
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 09:47   #11
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Не пишется текст на текстуре

Так, ну с проблемой не рисования разных текстур я разобрался.)

L.D.M.T. vbmenu_register("postmenu_141921", true);
Лови код, может пригодится.)

For i=1 To 100
If items$(i,2)>0
sub_count=sub_count+1
sub_y#=sub_y#+0.04
e.submenu=New submenu
e\item_name$=items$(i,1)
e\item_step=sub_count
e\batt_menu_sub=CreateSprite(camera)
e\xscale#=0.08
e\yscale#=e\xscale#/4.35
e\tex=CreateTexture(256,64)
img=LoadImage ("batt_menu_sub.jpg")
ScaleSprite e\batt_menu_sub,e\xscale#,e\yscale#
SpriteViewMode e\batt_menu_sub,2
SetBuffer TextureBuffer(e\tex)
Cls
DrawImage img,0,0
Color 210,210,210
font_item=LoadFont ("Arial",21,1)
SetFont font_item
Text 15,20,items$(i,3)
Text 200,20,items$(i,2)
FreeFont font_item
Color 255,255,255
SetBuffer BackBuffer
EntityTexture e\batt_menu_sub,e\tex
PositionEntity e\batt_menu_sub,-0.28,sub_y#,0.9
FreeTexture e\tex
EndIf
Next

Вот. ТОесть в кратце мы создаём пустую текстуру такого же размера как и та что пытались загрузить, а нашу текстуру грузим как имейдр и потом просто в буфер текстуры рисуем нужную текстуру из имейджа, потом поверх текст, запекаем и очищаем экран перед следующим проходом. ТОгда при каждом повторе и создании нового элемента типа у нас текстура будет с разным текстом.)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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