Диалог картинками
Прошу вас знающие помочь мне =)
как сделать такой код ЕСЛИ ОБЬЕКТ на расстояние 2метра от другого обьекта то вывести картинку на экран(игра 3d но просто диалоги больше к 2d) если нажать на 1 то другая картинка если на 2 то другая и.т.д сзаранее спасибо! :-) |
Re: Диалог картинками
if object1.xpos - object2.xpos <= 2 then
drawimage pic1,100,100 if keydown(2) drawimage pic2,100,100 if keydown(3) drawimage pic3,100,100 end if ну и так далее.... и не забываем очищать экран ;) cls |
Re: Диалог картинками
if object1.xpos - object2.xpos <= 2 then
тут че то не в пер =))) ща попробую но обьяснение не помешают |
Re: Диалог картинками
это проверка меньше ли (или равно) расстояние между объектом1 и объектом2 по координате Х двух...
|
Re: Диалог картинками
Raiter, неправильная у тебя проверка если у первого объекта координата меньше второго, то на любом расстоянии диалог включится)
if abs(entityx#(object1) - entityx#(object2)) and abs(entityz#(object1) - entityz#(object2)) <= 2 then это правда по квадрату проверка, ну ты с корнями похимичь сделаешь по кругу) |
Re: Диалог картинками
В справке блица смотри функцию EntityDistance.
|
Re: Диалог картинками
Lito, abs(entityx#(object1) - entityx#(object2))<=2, забыл ;)
2alcoSHoLiC +1, хотя когда нужна максимальная скорость и проверка объектов лежащих в одной плоскости, то можно и с корнями помучаться, или вообще их вынести во внешнюю DLL. (я ето проверял, написанная на C++ функция работает на 15% быстрее у меня по-крайней мере). И, на всякий случай: ВСЮ 2D графику рисовать после renderworld но до flip. P.S. Я понимаю что все вы аццкие программеры, просто, на всякий случай сказал. |
Re: Диалог картинками
спасибо за помощь. все работает но как я понял эти картинки создают жуткие лаги =)
|
Re: Диалог картинками
Цитата:
а вообще надо какой - нибудь переменной изменять значение при нажатии на кнопку, и отриовывать соответсвующау картинку (ради удобства можно указатели на картинки хранить в массиве) например: if keydown(2) then show_image=1 if keydown(3) then show_image=2 if keydown(4) then show_image=3 if show_image then drawimage img[show_image],x,y тогда грузит надо так global img[10] img[1]=loadimage(бла-бла-бла) img[2]=loadimage(бла-бла-бла) img[3]=loadimage(бла-бла-бла) ... |
Re: Диалог картинками
ну если лаги и есть то это имхо из-за юзания 2д команд в 3д :)
можно юзать спрайтовые команды... тогда лагов не будет:) |
Re: Диалог картинками
Цитата:
Код:
pressed_key = getkey() - 48 ;49-57 -- ASCII коды для 1-9 соответственно |
Re: Диалог картинками
Если у тебя диалог как какойто период, в котором происходят только показы картинок, то лечше сделать что при нажатии (не зажатии), делается Цлс, и отрисовывается картинка, ну там ещё текст и что-то ещё, и потом Флип. А в самом цикле Только проверка на кнопки, при нажатии которых, меняется и обновляется экран. Тоесть лагов будет 0, и обновления экрана только при действиях. Если у тебя анимация, то действую подобным путём, только при нажатии делай переменную которая скажет что нужно ещё парочку картинок показать, и уже в цикле показываешь их.
Напряг с думалкой? :) |
Re: Диалог картинками
У меня такой вопрос: как сделать так что бы при нажатии кнопки (не зажатии) появлялось изображение, скажем поле для будущего меню, а то у меня приходиться зажимать лев. кнопку мыши на кнопке которая отвечает за вызов иозбражения. Вот часть кода:
Код:
If ImageRectOverlap (cursor,mx,my,384,595,257,47) Then Заранее спасибо за ответ! :) |
Re: Диалог картинками
Код:
Global test |
Re: Диалог картинками
А можно вместо "test = 1", написать test = Not test. И тогда будет можно открывать/закрывать.
|
Часовой пояс GMT +4, время: 07:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot