forum.boolean.name

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

Fatalix3d 16.07.2009 13:22

Camera pick!
 
Имею модель бутылки,хлеба,яблока у них соответственно NameEntity botle,hleb,apple так вот, как как мне получить в переменную, этот самый EntityName через CameraPick?

Надо чтобы над предметом появлялась надпись "Яблоко" которое мы пишем исходя из полученого entityName.

Вообщем парни:SOS:.

IGR 16.07.2009 13:27

Ответ: Camera pick!
 
покажи кусок кода как ты пишеш ??

Цитата:

Надо чтобы над предметом появлялась надпись "Яблоко" которое мы пишем исходя из полученого entityName.
нада спрецировать его координаты на экран !!
потом:
text coord1, coord2, "Яблоко"

Fatalix3d 16.07.2009 13:47

Ответ: Camera pick!
 
global item_info ;cюда заносим EntityName
global picked

;яблоко
apple=loadmesh("mesh/apple.b3d")
positionentity apple,25,1,33
entitypickmode apple,2
nameentity apple,apple_item

в цикле
if game=0 then
picked=CameraPick(camera,MouseX(),MouseY())
item_info=nameentity(picked)
endif

ну и ...
text,400,500,""+item_info

Надпись должна появляться не при нажатии, а при наведении.

IGR 16.07.2009 14:05

Ответ: Camera pick!
 
Цитата:

global item_info ;cюда заносим EntityName
а заносиш:
Цитата:

item_info=nameentity(picked)

Mr_F_ 16.07.2009 14:07

Ответ: Camera pick!
 
Цитата:

picked=CameraPick(camera,MouseX(),MouseY())
item_info=nameentity(picked)
меняй на
CameraPick(camera,MouseX(),MouseY())
item_info=nameentity(pickedentity())

и обозначь итем_инфо как стринг:

global item_info$

Fatalix3d 16.07.2009 14:45

Ответ: Camera pick!
 
Вложений: 1
Ура! Заработало! Кстати там надо еще было исправить nameentity apple,apple_item на nameentity apple,"apple_item"
Ребята спасибо за помощь!

SBJoker 16.07.2009 15:04

Ответ: Camera pick!
 
Fatalix3d, Блин на скрине перебор с DoF, я ощутил себя слепым кротом глядя на него.

impersonalis 16.07.2009 15:20

Ответ: Camera pick!
 
надо в динамике смотреть
демку давай

Fatalix3d 16.07.2009 15:27

Ответ: Camera pick!
 
:-D Так он включается только при диалогах, инвентаре и когда переходим в режим взаимодействия с некоторыми предметами (как раз скрин из квеста "Грибы для лесников" из которых они сварят супчик ... так грибов насобирал ... и ... пол лагеря в астрале!!!:4to: ... кто знал что половина из них галлюциногенные:rolleyes: )

P.S О! нашел вторую половину в кустах!:-D )

SBJoker 16.07.2009 15:48

Ответ: Camera pick!
 
Fatalix3d, Вы случайно не работаете в одной аусорсной студии?

Fatalix3d 16.07.2009 16:00

Ответ: Camera pick!
 
Да нет, а что?

SBJoker 16.07.2009 16:02

Ответ: Camera pick!
 
Просто, показалось знакомым что-то в скрине.

johnk 16.07.2009 16:42

Ответ: Camera pick!
 
Классная графика :) Модельки свои? А человек?

Fatalix3d 16.07.2009 16:48

Ответ: Camera pick!
 
Все свое, кроме человека он для тестов (просто вчера вечером решил делать полноценную RPG, и с видом от 3 лица, первая концепция кроме трупа, персонажей не подразумевала ). Потом конечно смоделю и добавлю собственных.

maxim7788 31.08.2009 18:51

Ответ: Camera pick!
 
Столкнулся с той же проблемой. Для примера создан куб, кубу задано имя, как присвоить переменной "item_info$" имя куба "item_001", используя CameraPick и PickedEntity ? Не совсем понятно, ведь CameraPick работает с числовой переменной, а имя кубика это строка. Объясните, заранее спасибо.

Код:

Global item_info$ ;cюда заносим EntityName
Global picked

Windowed3D
Graphics3D 800,600,16,1
SetBuffer BackBuffer()

Global camera=CreateCamera()
PositionEntity camera,0,400,0
TurnEntity camera,90,0,0
SetFont LoadFont("courier",14)

;===================================================

; создание куба
box=CreateCube()
PositionEntity box,0,0,0
ScaleEntity box,20,20,20
EntityPickMode box,2
NameEntity box,"item_001"

;===================================================

While Not KeyHit(1)
       
        xxx=MouseX()
        yyy=MouseY()
       
        picked=CameraPick(camera,MouseX(),MouseY())
        item_info=EntityName(PickedEntity())
                               
UpdateWorld
RenderWorld
       
        Text 20,60,"picked......."+picked
        Text 20,80,"item_info$..."+item_info$
                       
        Rect xxx,yyy-3,1,7       
        Rect xxx-3,yyy,7,1
               
Flip
Cls
Wend
End



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

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