Показать сообщение отдельно
Старый 14.02.2013, 01:32   #7
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Перемещение объектов

Сообщение от ligala Посмотреть сообщение
Спасибо. Учту.
У меня новый набор вопросов =(
Что-то тяжело идет (5 лет не программировал)...
В общем решил, пока, сделать меню. Сделал что-то убогое, отдаленно напоминающее. Но вот не знаю как фоновую картинку вставить. Точнее вставляю, но она становится на передний план затуляя надписи (старт, выход). Может ли данная картинка быть .gif (анимацией). Помогите, пожалуйста решить данную проблему.

Вот код моего меню:

Graphics3D 640, 480, 16, 1
SetBuffer BackBuffer()

Global fontB=LoadFont("Verdana",82)
Global FontM=LoadFont("Verdana",32)

Global GameScr=0

Global aa=LoadImage("1.jpg")
;==================================
;main cycle

Repeat

Select GameScr

Case 0

UpdateStartScreen()

DrawImage aa, 0,0

End Select

Flip

Until KeyHit(1)

;=================================
;Functions
;=================================

Function UpdateStartScreen()

Cls

tShift=0
If RectsOverlap(MouseX(),MouseY(),1,1,320-50,240-12,100,32) tShift=1
If RectsOverlap(MouseX(),MouseY(),1,1,320-50,280-12,100,32) tShift=2

SetFont FontB ;setup font
Color 255,100,40
Text 320,150,"Project",True,True

SetFont FontM

If tShift=1 Color 0,255,0 Else Color 255,0,0
Text 320,240, "Start model",True,True

If tShift=2 Color 0,255,0 Else Color 255,0,0
Text 320,280, "Quit",True,True

Color 250,200,0

cursor=LoadImage("cursor.bmp")
DrawImage cursor, MouseX(),MouseY()
;Text MouseX(),MouseY(),"*",True,True

If MouseHit(1)

Select tShift

Case 1

End

Case 2

End

End Select

EndIf

End Function


2. Хочу добавить опции, чтобы можно было выбрать разрешение. Пока не знаю как. Или чтоб само подстраивалось по пользовательское...

3. Думал сделать не просто надписи (старт, выход), а параллелепипеды, натянуть на них текстуры, но можно ли как-то на них потом писать, т.е. поверх текстуры?

4. Не пойму как можно вставить видео при запуске игры. Типа заставки.

5. Это правда не относиться к меню, но можно ли забрать из файла матрицу, а потом вернуть преобразованную в другой файл (или хотя бы в этот же)?

6. Читал, что на цетере были статьи по созданию инвентаря, но сайт сейчас не работает, поделитесь, пожалуйста, опытом. Правда мне не инвентарь нужен, а панель состояния. Типа какое в руках у персонажа1 оружие, а какое у персонажа2 и т.д.

Люди добрые помогите, пожалуйста.


1.
Global aa=LoadImage("1.jpg")
это я так понимаю загрузка фонового изображения? Если я правильно понял, то судя по твоему коду основного цикла оно и должно быть сверху, т.к. рисуется после всех изображений и текстов. Минимум что надо сделать - сначала отрисовывать фон, потом всё остальное. Основываясь на твоём коде это будет так:
Repeat

Select GameScr

Case 0

DrawImage aa, 0,0

UpdateStartScreen()

End Select

Flip

Until KeyHit(1)
Если в теории, то фоновое изображание вполне может быть gif-анимацией, см. пункт 4. В теории - потому что я лично не пробовал.

2. Что бы программа на блице запускалась с разрешением пользовательского экрана надо заместо разрешения экрана указать нули. В твоём случае Graphics3d 0, 0, 16, 1. Для начала этого хватит. Но вполне реально реализовать и смену разрешения, глубины и оконности, там впринципе ничего трудного и нету.

3. Реально, можно рисовать и писать в текстуры, и потом текстурировать. Смотри блицевский пример по команде CreateTexture. Но лучше использовать готовые текстуры с текстом, хотя это лично моё мнение.

4. В последних версиях блица появились команды OpenMovie, CloseMovie, DrawMovie и какие то ещё связанные с этим. Они же, кстати, открывают и рисуют *.gif картинки. В блице есть примеры по их использованию.

5.6. не компетентен в данных вопросах, хотя забать из файла и записать в файл можно что угодно, вопрос будет ли соблюдаться формат первоначального файла (если нужно конечно).
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ligala (17.02.2013)