 |
3D-программирование Вопросы, касающиеся программирования 3D мира |
10.10.2008, 22:13
|
#1
|
ПроЭктировщик
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 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
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: EntityPick & EntityName
If MouseDown(1) then
'твой код приведёный выше
end if
__________________
|
(Offline)
|
|
10.10.2008, 22:38
|
#4
|
ПроЭктировщик
Регистрация: 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
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: EntityPick & EntityName
ArtemkA есть такое понятие, как переменная
присвой ей имя (танковый завод например) и выводи
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.10.2008, 23:05
|
#6
|
|
Ответ: EntityPick & EntityName
я думаю тебе нужно так делать тогда
; в начале кода
global gameobjectname$ = ""
...
;в цикле
if keyhit(1) then gameobjectname = EntityName(CameraPick(camera,MouseX(),MouseY()))
Text 600,30,"Name: " + gameobjectname
|
|
|
Сообщение было полезно следующим пользователям:
|
|
10.10.2008, 23:43
|
#7
|
ПроЭктировщик
Регистрация: 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
|
|
Ответ: 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
|
ПроЭктировщик
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений (для 9 пользователей)
|
Ответ: EntityPick & EntityName
понял...спасибо
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:08.
|