|
3D-программирование Вопросы, касающиеся программирования 3D мира |
28.01.2009, 18:44
|
#16
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Выбор объекта, как сделать?
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
cam=CreateCamera()
MoveEntity cam,0,0,-30
light=CreateLight()
cube=CreateCube()
EntityPickMode cube,2
For i=1 To 10
cube=CopyMesh(cube)
MoveEntity cube,Rnd(-10,10),Rnd(-10,10),Rnd(-10,10)
EntityPickMode cube,2
Next
Repeat
If MouseHit(1)
pick=CameraPick(cam,MouseX(),MouseY())
shit=EntityDistance(cam,pick)
EndIf
Flip
UpdateWorld
RenderWorld
Text 20,20,"picked: "+pick
Text 20,40,"distance: "+shit
Until KeyHit(1)
End
|
(Offline)
|
|
28.01.2009, 21:41
|
#17
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Выбор объекта, как сделать?
И нафига там нужен CopyMesh, если можно и нужно заюзать CopyEntity ?
__________________
|
(Offline)
|
|
28.01.2009, 22:33
|
#18
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Выбор объекта, как сделать?
а у меня он не работает
|
(Offline)
|
|
29.01.2009, 18:02
|
#19
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Выбор объекта, как сделать?
я могу ошибатсо - но разве пик моде по наследству не переходит? (эт когда создаешь копию - то созданная копия уже имеет все что родитель имел)
|
(Offline)
|
|
29.01.2009, 18:08
|
#20
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Выбор объекта, как сделать?
тыбы лучше справку по командам Copy перечитал, естественно пик не переходит, это не чилд а копия )
|
(Offline)
|
|
30.01.2009, 01:39
|
#21
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Выбор объекта, как сделать?
Сам бы лучше почитал: чилды тоже пикаются отдельно
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
30.01.2009, 22:51
|
#22
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Выбор объекта, как сделать?
непонял - я говорю что копий не пикаются, ты говоришь что чилды пикаются, в чем смысл ??
|
(Offline)
|
|
30.01.2009, 23:17
|
#23
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Выбор объекта, как сделать?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
03.02.2009, 20:48
|
#24
|
AnyKey`щик
Регистрация: 13.01.2009
Сообщений: 8
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Выбор объекта, как сделать?
Все нормально, вроде работает, только есть одна проблема... У тебя камера неподвижна и вроде все нормально, а у меня "игрок" ходит, и почему-то с дистанцией творится что-то невообразимое... приближаюсь к одному объекту - она увеличивается, удаляюсь - уменьшается... и вообще непонятно по какому закону оно изменяется...
|
(Offline)
|
|
03.02.2009, 21:23
|
#25
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Выбор объекта, как сделать?
всё что тут можно сказать: она правильно работает
вопрос в том - что ты с ней делаешь что она неработает ?
|
(Offline)
|
|
04.02.2009, 12:11
|
#26
|
AnyKey`щик
Регистрация: 13.01.2009
Сообщений: 8
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Выбор объекта, как сделать?
Не знаю. вообще-то я вставлял ее в такую функцию:
Function MouseTest(); функция MouseTest-реализация выбора и нажатия клавиши мыши ====================================
Local mx#,my#; задаются локальные переменные mx и my
mx#=MouseX(); переменной mx присваивается координата Х указателя мыши
my#=MouseY() ; переменной my присваивается координата Y указателя мыши
Local pick, dist#; задается локальные переменные pick, dist#
pick=CameraPick (camera,mx#,my#); выбирает объект, находящийся в области просмотра камеры и координатах mx и my (в данном случае указателя мыши)
If pick Then;если указатель мыши находится на объекте
dist=EntityDistance(camera,pickedentity())
Locate 10,80 :Print "Dist="+ dist
If dist<30 Then
Draw_Wire_2D(PickedEntity (),camera,0,0,0)
If MausHitL Then
EntityPickMode PickedEntity (),0
Schet=Schet+1
EndIf
EndIf
EndIf
Return Schet
End Function
Функция Draw_Wire_2D(PickedEntity (),camera,0,0,0) - просто подсветка объекта...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:20.
|