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

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

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

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

Ответ
 
Опции темы
Старый 10.10.2008, 22:13   #1
ArtemkA
ПроЭктировщик
 
Аватар для ArtemkA
 
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений
(для 9 пользователей)
EntityPick & EntityName

у меня есть танк с именем (NameEntity) "Танк"
и здание с именем "Танковый завод"

мне надо зделать так чтобы при нажатии на танк появилась надпись типа:

"Танк", а когда на завод, то Танковый завод

я делал так:

Text 600,30,"Name: "+EntityName(CameraPick(camera,MouseX(),MouseY())) +

но так появляеться имя только тогда, когда мышь наведена на объект (танк или завод), а мне надо чтобы только после левого щелчка мыши...как это зделать?
(Offline)
 
Ответить с цитированием
Старый 10.10.2008, 22:28   #2
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: EntityPick & EntityName

if keyhit(1) Text 600,30,"Name: "+EntityName(CameraPick(camera,MouseX(),MouseY ())) +
?)))
(Offline)
 
Ответить с цитированием
Старый 10.10.2008, 22:29   #3
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: EntityPick & EntityName

If MouseDown(1) then
'твой код приведёный выше
end if
__________________
(Offline)
 
Ответить с цитированием
Старый 10.10.2008, 22:38   #4
ArtemkA
ПроЭктировщик
 
Аватар для ArtemkA
 
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений
(для 9 пользователей)
тут получаеться условие, если нажата такаята клавиша, то показывать имя....а мне нужно чтобы было всегда...в принципе оно у меня так и есть, но не сохраняется т.е. если навести курсор на танк то получаеться надпись Name: Танк, а если убрать,то пропадает, а мне надо зделать так чтобы такая надпись появилась при нажатии на левую кнопку мыши по танку или по другому объекту и его имя осталось до того, как небыла нажата левая кнопка мыши по другому объекту.

If MouseDown(1) then
'твой код приведёный выше
end if
уже что-то, но эта надпись пропадает после того как я отпускаю кнопку мыши, а надо чтобы она сохранилась

если надо могу скинуть весь код, он легкий...

Последний раз редактировалось Magus, 10.10.2008 в 23:13.
(Offline)
 
Ответить с цитированием
Старый 10.10.2008, 23:04   #5
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: EntityPick & EntityName

ArtemkA есть такое понятие, как переменная
присвой ей имя (танковый завод например) и выводи
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ArtemkA (10.10.2008)
Старый 10.10.2008, 23:05   #6
jimon
 
Сообщений: n/a
Ответ: EntityPick & EntityName

я думаю тебе нужно так делать тогда
; в начале кода
global gameobjectname$ = ""

...

;в цикле
if keyhit(1) then gameobjectname = EntityName(CameraPick(camera,MouseX(),MouseY()))
Text 600,30,"Name: " + gameobjectname
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ArtemkA (10.10.2008)
Старый 10.10.2008, 23:43   #7
ArtemkA
ПроЭктировщик
 
Аватар для ArtemkA
 
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений
(для 9 пользователей)
Ответ: EntityPick & EntityName

jimon и tormoz, спасибо! получилось...

теперь осталась одна последняя проблема...

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

вот будущий танк:
player = CreateCube()
ScaleEntity player,.5,.5,.5
EntityColor player,0,128,255
EntityPickMode player,2
EntityType player,typeplayer
PositionEntity player,0,2,0
NameEntity player,"Танк"

и будущий танковый завод:
TankZavod = CreateCube()
PositionEntity TankZavod,5,1,0
ScaleEntity TankZavod,2,5,2
NameEntity TankZavod,"Танковый завод"
EntityPickMode TankZavod,3
EntityColor TankZavod,255,198,128

а вот как зделано в маинцикле:

If MouseHit(1) Then
mov = CameraPick(camera,MouseX(),MouseY())
obj = CameraPick(camera,MouseX(),MouseY())
If mov = pol Then mov = 0 : EntityColor player,0,128,255 Else mov = 1 : EntityColor player,128,128,255

EndIf


If MouseDown(2) Then
If mov <> 0 Then
PositionEntity player_pivot,PickedX#(),PickedY#()+0.9,PickedZ#()
EndIf
EndIf
If MouseDown(3) Then
mxs#=MouseXSpeed()
MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
TurnEntity campiv,0,-mxs#*0.25,0
RotateEntity player_pivot,0,EntityYaw(campiv,1),0
EndIf
(Offline)
 
Ответить с цитированием
Старый 11.10.2008, 08:53   #8
jimon
 
Сообщений: n/a
Ответ: EntityPick & EntityName

If MouseHit(1) Then
mov = CameraPick(camera,MouseX(),MouseY())
obj = CameraPick(camera,MouseX(),MouseY())
If mov = pol Then mov = 0 : EntityColor player,0,128,255 Else mov = 1 : EntityColor player,128,128,255

EndIf
ну ты тут цвет задаешь только для игрока, да и перемещение тоже только для игрока делаешь, подсказку уже давали - используй переменные
 
Ответить с цитированием
Старый 11.10.2008, 11:29   #9
ArtemkA
ПроЭктировщик
 
Аватар для ArtemkA
 
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений
(для 9 пользователей)
Ответ: EntityPick & EntityName

понял...спасибо
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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