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

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

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

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

Ответ
 
Опции темы
Старый 28.03.2011, 21:26   #1
Keypa
AnyKey`щик
 
Аватар для Keypa
 
Регистрация: 04.12.2010
Адрес: Санкт-Петербург
Сообщений: 14
Написано 4 полезных сообщений
(для 9 пользователей)
Наборное устройство

Всем привет! Нужна помощь в реализации набора адреса, как в этом ролике))) help! Как это вообще можно сделать?
(Offline)
 
Ответить с цитированием
Старый 28.03.2011, 21:33   #2
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Наборное устройство

Делаешь модель, делаешь имена каждой кнопочке, затем именуешь их соответственно, затем в блице, грузишь модель с чайлдами, и делаешь CameraPick прицелу. При этом пикай постоянно, чтобы определить куда целится камера, чтобы отрисовывать спрайты кнопок если ты хочешь как в ролике.
При пике, определяешь какой объект, имя энтити должно нести нужную тебе инфу.
Собственно зная на какой объект целишься, по клику - будет нажатие определённой кнопки.

Лучше конкретнее изложи, что не получается, или где не хватает знаний, вырази словами рассуждения по реализации подобного, будет проще помочь.
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 07:40   #3
Keypa
AnyKey`щик
 
Аватар для Keypa
 
Регистрация: 04.12.2010
Адрес: Санкт-Петербург
Сообщений: 14
Написано 4 полезных сообщений
(для 9 пользователей)
Ответ: Наборное устройство

Дело в том, что я совсем недавно начал осваивать blitz)
грузишь модель с чайлдами
Я так понимаю речь идет о команде "FindChild"
Я сделал тестовую модель, экспортировал в X формат, но blitz что-то не хочет искать дочерние объекты)) Или я что-то неправильно делаю? хм)) А формате 3ds все видит))) Такс... с чайлдами вроде разобрался))

Вот что получилось

dhd=LoadAnimMesh("dhd.3ds")
pan=FindChild(dhd,"pan")
b1=FindChild(dhd,"b01")
b2=FindChild(dhd,"b02")
b3=FindChild(dhd,"b03")
b4=FindChild(dhd,"b04")
b5=FindChild(dhd,"b05")
b6=FindChild(dhd,"b06")
b7=FindChild(dhd,"b07")
b8=FindChild(dhd,"b08")
Такс... сделал так, что бы появлялась картинка по наведению на кнопку, но вот только понятия не имею, как сделать так, что бы при наведении на другую кнопку появлялась другая картинка(((
Миниатюры
Нажмите на изображение для увеличения
Название: 9a75ea7ed51d.jpg
Просмотров: 751
Размер:	12.2 Кб
ID:	13147  

Последний раз редактировалось Keypa, 29.03.2011 в 09:45.
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 12:01   #4
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Наборное устройство

Такс... сделал так, что бы появлялась картинка по наведению на кнопку, но вот только понятия не имею, как сделать так, что бы при наведении на другую кнопку появлялась другая картинка(((
Вешаешь на каждый КАРТИН тригер,,если он равен 1,то отображаем её,если =0 то нет,(лучше ето тупаком делать)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 12:02   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Наборное устройство

b1=FindChild(dhd,"b01")
b2=FindChild(dhd,"b02")
b3=FindChild(dhd,"b03")
b4=FindChild(dhd,"b04")
b5=FindChild(dhd,"b05")
b6=FindChild(dhd,"b06")
b7=FindChild(dhd,"b07")
b8=FindChild(dhd,"b08")
массив же
local b%[8]
for i=2 to 8
b[i]=FindChild(dhd,"b0"+str(i))
next
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
ABTOMAT (04.04.2011), maxturbo (30.03.2011), moka (29.03.2011)
Старый 29.03.2011, 12:08   #6
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Наборное устройство


b1=FindChild(dhd,"b01")
b2=FindChild(dhd,"b02")
b3=FindChild(dhd,"b03")
b4=FindChild(dhd,"b04")
b5=FindChild(dhd,"b05")
b6=FindChild(dhd,"b06")
b7=FindChild(dhd,"b07")
b8=FindChild(dhd,"b08")
массив же

local b%[8]
for i=2 to 8
b[i]=FindChild(dhd,"b0"+str(i))
next

яб в тупе загнал..
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 13:16   #7
Keypa
AnyKey`щик
 
Аватар для Keypa
 
Регистрация: 04.12.2010
Адрес: Санкт-Петербург
Сообщений: 14
Написано 4 полезных сообщений
(для 9 пользователей)
Ответ: Наборное устройство

local b%[8]
for i=2 to 8
b[i]=FindChild(dhd,"b0"+str(i))
next
impersonalis, а можно по подробнее?))) Почему именно так... точнее, какая разница? Объясните если не сложно) То что этот код выполняет я понял))

яб в тупе загнал..
Костян, в тупе???
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 13:37   #8
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Наборное устройство

Сообщение от Keypa Посмотреть сообщение
impersonalis, а можно по подробнее?))) Почему именно так... точнее, какая разница? Объясните если не сложно) То что этот код выполняет я понял))
Лучше один массив чем много переменных.
Можно заполнить/считать его циклом.
Да и наглядние это.

Сообщение от Keypa Посмотреть сообщение
Костян, в тупе???
Он почти всегда непонятно пишет. А имел в виду он скорее всего Type - Типы. Костян имел в виду использование "типа" заместо массива.
__________________
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)
 
Ответить с цитированием
Старый 29.03.2011, 13:49   #9
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Наборное устройство

Кеура, в твоём участке кода, где ты находишь дочерние объекты, 8 строк, и есть закономерность. Если ты захочешь их всех по очереди перебрать, это будет не так и просто.
А с массивом намного проще. Смотри, доступ к переменной теперь будет посредством индекса, например если тебе нужно проверить если объект который нажали, будет цикл:

Глобальная переменная, хранит индекс кнопки, которая была наведёна, чтобы при отведении, скрыть её спрайт.
lastPickedButton%
Далее в цикле мы присваиваем временную переменную (я обычно присваивал, а не ссылался к функциям, как-то внушает больше доверия.
Затем проверяем, если объект на который навели уже не тот что в прошлый раз, тогда скрываем тот что был, и идём дальше. Либо если вообще нету наведённого (равен нулю), тогда пропускаем скрытие. Далее перелистываем массив объектов (button), и если объект равен тому на который камера нажала, показываем спрайт (spriteNumber) с числом, который заранее был поставлен на позицию чуть выше кнопки и спрятан.
Если хоть один объект наведён, то будет назначено значение последней наведённой кнопки (lastPickedButton).
pickedEntity% = PickedEntity()
If (lastPickedButton = 0 OR button[lastPickedButton] <> pickedEntity)
  If (lastPickedButton <> 0)
    HideEntity spriteNumber[lastPickedButton]
    lastPickedButton = 0
  EndIf
  For i=1 To 8
    If (button[i]=pickedEntity)
      lastPickedButton = i
      ShowEntity spriteNumber[i]
    EndIf
  Next
EndIf
ЗЫ, писал в броузере, могут быть ошибки. Думаю идея ясна.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (29.03.2011)
Старый 29.03.2011, 13:57   #10
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Наборное устройство

Костян имел в виду использование "типа" заместо массива.
ДА..
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 14:06   #11
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Наборное устройство

Костян, в тупе???
Видимо он намекает, что он "тупе".

Костян, преждем чем отправить сообщение в тему перечитай его пару раз и возможно заметишь свои ошибки.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (04.04.2011)
Старый 29.03.2011, 22:00   #12
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Наборное устройство

Не тупе, а турэ
Type
(Offline)
 
Ответить с цитированием
Старый 29.03.2011, 22:12   #13
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Наборное устройство

Если произносить, то как "тайп", при этом "й" будет между "й" и "и", но коротко и без акцента. Похоже на быстрое отнекивание "ай".
Вот ссылка на mp3: http://www.gstatic.com/dictionary/st.../de/0/type.mp3
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (29.03.2011)
Старый 31.03.2011, 17:08   #14
Keypa
AnyKey`щик
 
Аватар для Keypa
 
Регистрация: 04.12.2010
Адрес: Санкт-Петербург
Сообщений: 14
Написано 4 полезных сообщений
(для 9 пользователей)
Ответ: Наборное устройство

Еще вопросик)) в blitz3d реально реализовать самосвечение определенных участков текстуры? пример
------------------------------------------------------
На счет кнопок... решил сделать по другому) Отказаться от проецирования цифр вместо символов. Сделать непосредственно нажатие на саму кнопку, с последующим ее свечением, как например здесь хЫ... только пока не представляю, как это сделать) нужна ваша помощь)))

Просто в ролике, что я скидывал ранее это сделано для удобства, что бы не разбираться в символах на панели, а программить свои адреса)
(Offline)
 
Ответить с цитированием
Старый 31.03.2011, 17:26   #15
Venom2
 
Сообщений: n/a
Ответ: Наборное устройство

Сообщение от Keypa Посмотреть сообщение
Еще вопросик)) в blitz3d реально реализовать самосвечение определенных участков текстуры? пример
http://forum.boolean.name/showthread.php?t=14281
Сообщение от Keypa Посмотреть сообщение
На счет кнопок... решил сделать по другому) Отказаться от проецирования цифр вместо символов. Сделать непосредственно нажатие на саму кнопку, с последующим ее свечением, как например здесь хЫ... только пока не представляю, как это сделать) нужна ваша помощь)))
Нажатие кнопок можно сделать пообъектной анимацией, свечение - смена текстуры или установка соответствующего цвета, эффекта + полупрозрачный спрайт с "короной" и тоже эффект+бленд на него, выше ссылка с инфой.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (31.03.2011)
Ответ


Опции темы

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

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


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


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