forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Два вопроса (http://forum.boolean.name/showthread.php?t=8974)

Andvrok 21.08.2009 23:45

Два вопроса
 
Два вопроса - один простой, второй сложный.

1. Как сделать приостановку игры(паузу) по нажатию клавиши?

2. У меня есть две камеры разделенные CameraViewport. Одна из них вызывается и убирается нажатием клавиши. Как сделать чтоб одно изображение отображалось в этой камере когда она вызвана, но не отображалась в основной?

Просьба не отправлять искать а объяснить.

ABTOMAT 21.08.2009 23:49

Ответ: Два вопроса
 
1. По условию нажатия клавиши сделать пустой цикл с условием выхода из него по той же клавише. Опционально можно сделать затемнение экрана и отрисовку надписи "Пауза", а также советую сделать Delay (иначе пустой цикл сожрёт всё процессорное время)
2. Скрывать/показывать (HideEntity/ShowEntity) камеры, изображение с которых нужно/не нужно получить. Или использовать CameraProjMode 1 и 0.

Andvrok 22.08.2009 02:17

Ответ: Два вопроса
 
По первому пункту все понятно, а насчет второго: как привязать изображение к отдельной камере?

ABTOMAT 22.08.2009 03:11

Ответ: Два вопроса
 
Видимо, я не понял, в чём дело:
Тебе надо отключать камеру по клавише или что?

Nex 22.08.2009 03:44

Ответ: Два вопроса
 
Как я понял он хочет, что бы когда появлялась еще одна камера (дополнительная :)) в ней показывалось какое то изображение, но что бы в основной камере этого изображения не было. :crazy:
Andvrok, про 2 вопрос я хочу сказать, что надо сначало 7 раз написать и один раз запостить. Это я к тому, что нифига не понятно написано.

Andvrok 22.08.2009 13:37

Ответ: Два вопроса
 
SkyDream, ну вот ты правильно понял ;)

SKA_DIMKA 22.08.2009 20:18

Ответ: Два вопроса
 
Andvrok, поткрепи свое письмо примером?? Для чего именно тебе это нужно, чтобы наглядней было понимать, помогать что как реализовать.


p.s. А ес смотреть то, что написал SkyDream .... Это походит на "зеркало заднего вида" в машине. Эт можно реализовать используя CameraProjMode (1 или 0) (функция "включает" / "выключает" камеру)

ABTOMAT 23.08.2009 01:57

Ответ: Два вопроса
 
Цитата:

Эт можно реализовать используя CameraProjMode (1 или 0) (функция "включает" / "выключает" камеру)
Дык я написал выше =\ Автору не нравится

SKA_DIMKA 23.08.2009 02:06

Ответ: Два вопроса
 
Цитата:

Сообщение от ABTOMAT (Сообщение 115813)
Дык я написал выше =\ Автору не нравится

Дык, а над настаивать:-D на правильном решении) Думаю эт по началу не нравица патом не будет маяца) а вообще непонятно что нужн этим сделать всем.... буду ждать АФТАРА по поводу уточнения вопроса. =\

ABTOMAT 23.08.2009 02:14

Ответ: Два вопроса
 
Цитата:

Дык, а над настаивать на правильном решении)
Видимо у него проблема отлична от той, к которой предлагалось решение.
Просто он не смог её сформулировать так, чтобы мы поняли, в чём дело.
Будем ждать, пока научится.

Nex 23.08.2009 04:24

Ответ: Два вопроса
 
Даже меня не поняли. :) Автору надо, что бы в дополнительной! камере показывалась определенная картинка, но что бы этой картинки в основной камере не было. :)
Andvrok, если бы я знал ответ, то обязательно бы помог. :-)

Andvrok 23.08.2009 11:00

Ответ: Два вопроса
 
Вот проблема-то :-D
Один человек меня понял, но он помочь не может :)

Попробую объяснить.

Вот у меня есть:
cam=CreateCamera(Player)
и:
c_cam=CreateCamera
CameraViewport c_cam,512,0,512,768
HideEntity c_cam


Есть вот обработка нажатия батона:
If KeyHit(15)
c=1-c
If c=1
CameraViewport cam,0,0,512,768
ShowEntity c_cam
EndIf
If c=0
CameraViewport cam,0,0,1024,768
HideEntity c_cam
EndIf
EndIf


И есть изображение, которое должно быть видно в c_cam но не должно быть видно в cam, потому что c_cam не всегда на экране, а вызывается батоном.

Надеюсь понятно объяснил?:)

SBJoker 23.08.2009 12:49

Ответ: Два вопроса
 
Наверно нужно тупо хайдить камеру..она отключается и ничо непоказывает..потом показывать её и она заработает.

Andvrok 23.08.2009 13:07

Ответ: Два вопроса
 
Это понятно:(
Я спрашиваю как картинку к определенной камере привязать?!?

ABTOMAT 23.08.2009 13:53

Ответ: Два вопроса
 
Цитата:

Даже меня не поняли.
SkyDream, по-моему ты просто то же самое в посте и переписал :-D Вот и не поняли
Цитата:

И есть изображение
Это 2Д картинка (Image) или что?
Если да, то просто не рисовать его в области вывода той камеры, где не нужно.
А если нет - то я хз что это за изображение (сначала подумал, что это рендер камеры)

Andvrok 23.08.2009 17:56

Ответ: Два вопроса
 
Да, простое 2Д изображение.
Немного не понял, как это "просто не рисовать его в области вывода той камеры, где не нужно". У меня камера вызывается и убирается по нажатию кнопки. Это что получится тогда, я нажму батон, камера появится, картинка тоже, нажму еще раз - камера уберется а картинка нет? :dontknow: Не понял.

SKA_DIMKA 23.08.2009 23:25

Ответ: Два вопроса
 
Цитата:

Сообщение от Andvrok (Сообщение 115859)
Это понятно:(
Я спрашиваю как картинку к определенной камере привязать?!?

Так, так, так.... Если правильно понял то ты создаешь две камеры, а зачем если тебе к камере нужно картинку привязать, эт не зачем тогда... Вопщем предоставлю тебе модель "черного ясчика":-D На входе у тебя разрешение экрана, камера вьюпорт(размер области камеры для вывода на экран), и сама картинка.

Тебе необходимо в зависимости от твоего разрешения спозиционировать CameraViewport туда куда тебе нужно, далее.... нарисовать картинку в камере (опятьже исходя из разрешения экрана, и разрешения вывода твоей камеры)
P.S имаджи рисуются командой DrawImage !!!перед!!! flip'ом
Вот к примеру управление курсором мышки(курсор заменен-картинка)

Код:


Graphics3D graphics_Width$,graphics_height$,32,graphics_mode
SetBuffer BackBuffer()

kyrsor=LoadAnimImage ("Wait.png",32,32,0,6)

While Not KeyHit(1)

If frame# < 5 Then : frame#=frame#+0.05 :Else : frame#=0 : EndIf
 DrawImage kyrsor,MouseX(),MouseY(),frame#

Flip 1
HidePointer
Wend
End


Andvrok 24.08.2009 13:39

Ответ: Два вопроса
 
И потом, когда я применю HideEntity на камеру, то изображение тоже исчезнет, я правильно понял? Если да то спасибо за обьяснение.

SKA_DIMKA 24.08.2009 22:51

Ответ: Два вопроса
 
Цитата:

Сообщение от Andvrok (Сообщение 115991)
И потом, когда я применю HideEntity на камеру, то изображение тоже исчезнет, я правильно понял? Если да то спасибо за обьяснение.

Вот сматри из хелпа про камеру:

Код:

CameraProjMode camera,mode
Параметры
camera - указатель камеры
mode - режим проецирования:
0: нет проекции - скрыть камеру (быстрее, чем HideEntity)
1: перспективная проекция (по умолчанию)
2: ортографическая проекция

Пиши просто CameraProjMode твоя камера,0
Это скроет твою камеру быстрее, хайд ентити;)

Arles 25.08.2009 11:08

Ответ: Два вопроса
 
а не проще будет вторую камеру гденить за уровнем разместить и перед ней спрайт поставить?!..

Andvrok 25.08.2009 11:36

Ответ: Два вопроса
 
Не проще.
Мне нужно именно 2Д изображение. На нем будет текст. Спрайт тут вообще не катит.

NitE 25.08.2009 14:07

Ответ: Два вопроса
 
Цитата:

Спрайт тут вообще не катит.
почему ?

Andvrok 25.08.2009 15:18

Ответ: Два вопроса
 
Потому что:)

NitE 25.08.2009 15:35

Ответ: Два вопроса
 
ну если вразумительного ответа не последует значит спрайт или квад очень даже катят.

CRASHER 26.08.2009 14:57

Ответ: Два вопроса
 
Andvrok, ты раскажи как у тебя происходит это в тесте, где что появляется и где что должно отображатся.

Andvrok 26.08.2009 16:45

Ответ: Два вопроса
 
Я уже разобрался:)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot