Показать сообщение отдельно
Старый 10.02.2013, 22:21   #1
ligala
AnyKey`щик
 
Регистрация: 10.02.2013
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Перемещение объектов

Помогите пожалуйста. Необходимо создать несколько объектов (к примеру 5), чтобы при клики на одном из них он выделялся (менял цвет, типа активный, либо рамка появлялась). Затем, при клике в любой части экрана, данный объект начинал туда перемещаться.
Я новичок в этом деле... написал, что-то типа такого

Graphics3D 840,580

SetBuffer BackBuffer()

kr1=0; 
kr2=0; 

cam=CreateCamera()

PositionEntity cam,0,5,0

 
lit=CreateLight()

cur=CreateSphere(8)

EntityColor cur,255,215,0

PositionEntity cur,0,1,15

EntityPickMode cur, 2
NameEntity cur, "cur1" 

cur2=CreateSphere(8)

EntityColor cur2,55,55,55

PositionEntity cur2,0,5,20

EntityPickMode cur2, 2
NameEntity cur2, "cur22" 

;pln=CreatePlane()

;tex=LoadTexture("floor.jpg")

;ScaleTexture tex,10,10

;EntityTexture pln,tex

Repeat

If MouseHit(1) = True
   pos = CameraPick(cam,MouseX(),MouseY())

   If pos
           name$ = EntityName(pos)
           If name = "cur1"
              EntityColor cur, 155,155,155
                kr1=1
      
           If name = "cur22"
              EntityColor cur2, 100,100,210
                kr2=1

           EndIf

           EndIf

        
   EndIf
EndIf
    
    If MouseHit(2) = True And kr1=1

        mh%=MouseX()
        mj%=MouseY()
        mk%=MouseZ() 

        MoveEntity cur,mh*.01,mj*0.01,0

    EndIf
    
    If MouseHit(2) = True And kr2=1

        mh%=MouseX()
        mj%=MouseY()
        mk%=MouseZ() 

        MoveEntity cur2,mh*.01,0,-mj*0.01

    EndIf

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End
Создал две сферы, одна выделяется вторая нет... Движения как такового тоже нет. Сфера перепрыгивает не совсем понятно куда.
Помогите пожалуйста реализовать, лучше не используя тот бред, который я написал. Кстати, пришлось использовать правую кнопку мыши (MouseHit(2)) левая почему то не срабатывала вообще. Спасибо!

Последний раз редактировалось SBJoker, 11.02.2013 в 23:45.
(Offline)
 
Ответить с цитированием