forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Функция по координатам... (http://forum.boolean.name/showthread.php?t=5649)

JeSss 25.01.2008 21:31

Re: Ответ: Функция по координатам...
 
Цитата:

Сообщение от H@NON (Сообщение 75744)
код не рабочий, это псевдокод, то есть просто алгоритм

Эт как, нерабочий???

H@NON 25.01.2008 21:32

Ответ: Функция по координатам...
 
Если Нажатие_кнопки ,то , если дистанция меньше #, то открыть_дверь

JeSss 25.01.2008 21:34

Re: Функция по координатам...
 
Вобщем можно в куске кода плииииииз
P.S. Всё в месте, если можно..

H@NON 25.01.2008 21:37

Ответ: Функция по координатам...
 
как будто ты в коде разбираешься лучше чем в словах. ты прирожденный копи/пастер, лучше займись фасовкой продуктов, там всего два действия: взять, положить.
На, так и быть, больше не жди от меня подачек:
Код:

; ID: 1970
; Author: Dan at D-Grafix dot com
; Date: 2007-03-16 05:42:06
; Title: Doors 101 - Simple multiple door system
; Description: Very simple

Graphics3D 640,480
SetBuffer BackBuffer()

light=CreateLight(2)
MoveEntity light,-5,5,-5


;make a camera
cam=CreateCamera()
MoveEntity cam,4,2,-5


;create cutom type
Type doormesh
  Field door,activate,doorstate,speed#
End Type

;create first door object
d1.doormesh= New doormesh
d1\activate=0
d1\doorstate=0
d1\door=CreateCube()
PositionMesh d1\door,1,0,0
ScaleEntity d1\door,1,2,.1
EntityColor d1\door,255,0,0

;create a second door object
d2.doormesh= New doormesh
d2\activate=0
d2\doorstate=0
d2\door=CopyEntity (d1\door)
MoveEntity d2\door,-2,0,0
EntityColor d1\door,0,255,0


;point camera at door just so we can see whats going on
PointEntity cam,d1\door



;main loop
Repeat

    If KeyHit(2) D1\ACTIVATE=1
    If KeyHit(3) D2\ACTIVATE=1

   
    ;do world updates
    UpdateAllDoors()
    RenderWorld
   
    ;render 2d from backbuffer
    Text 0,0,"Press '1' or '2' To open/close doors"
    Flip


Until KeyHit(1)




;------------------------End of main code--------------------------------------------




Function UpdateAllDoors()  ;gets called every loop
For d.doormesh=Each doormesh
  Select d\doorstate
      Case 0 ;if standing shut
        If d\activate        ;this is your initial trigger
          d\activate=0      ;reset trigger
          d\doorstate=2        ;door is shut so set open trigger to beginon Next loop
          ;playsound (CREAK)
      EndIf

    Case 1  ; if standing open
      If d\activate
          d\activate=0
          d\doorstate=3
          ;playsound (CREAK)
      EndIf

    Case 2  ;if opening door
      If EntityYaw(d\door)<90 d\speed=d\speed+0.02 Else d\doorstate=1
      If EntityYaw(d\door)>90 d\speed=0.00: RotateEntity d\door,0,90,0
   

    Case 3 ;if closing door
      If EntityYaw(d\door)>0 d\speed=d\speed-0.02 Else d\doorstate=0
      If EntityYaw(d\door)<0
        d\speed=0.00:
        RotateEntity d\door,0,0,0:
        ;playsound (SLAM)
      EndIf

  End Select

  TurnEntity d\door,0,d\speed,0
   
Next
End Function


JeSss 25.01.2008 21:40

Re: Функция по координатам...
 
А как понять, что двери открываются когда я рядом, а не в Чернобыле)))

H@NON 25.01.2008 21:44

Ответ: Функция по координатам...
 
для этого нужно приехать из Чернобыля к двери, проверить расстояние до нее, и возвращаться обратно.

JeSss 25.01.2008 22:45

А всё, поняна, канешн долго ехал, но оно того стоило)))

И вот какой вывод, всёравно открывается...
Нужно ФправиТь!

Taugeshtu 26.01.2008 00:37

Ответ: Функция по координатам...
 
Извините за ОФФТОП!
Function JeSss_update()
If моск_exist Then ФправиТь_м0ск()
End Function
ДжеСсс, огромной тебе удачи - с твоей способностью учится она будет катастрофически необходима

JeSss 26.01.2008 01:24

Re: Функция по координатам...
 
Всё, решил проблему!

alcoSHoLiK 26.01.2008 17:48

Ответ: Функция по координатам...
 
avel

Личные сообщения реализованы не для красоты, а для пользования ими.

JeSss 27.01.2008 00:36

Re: Функция по координатам...
 
А кста, на мой ответ так и неответили, как сделать чтобы функция выполнялась когда ты находишся в определёных координатах... а мне подсказали только если РАСТОЯНИЕ от предмета до чела, а мне нужно кое что на строку выше)

BAK$$$ 27.01.2008 01:13

Re: Функция по координатам...
 
Определяешь координаты своего игрока (EntityX(player),EntityY(player)...)Потом проверяешь их и проигрываешь анимацию...


JeSss 27.01.2008 01:19

Re: Функция по координатам...
 
а можно в куске кода?, по словам не оч. разборчиво...
P.S. не хачу опять показаца Копи-пастом но так прост реально непонятно...

BAK$$$ 27.01.2008 01:46

Re: Функция по координатам...
 
If EntityX(player)=1 And EntityY(player)=1 And EntityX(player)=1 Then...
Помоему так...

HolyDel 27.01.2008 01:59

Ответ: Функция по координатам...
 
Вложений: 1
хм. если тока понять, то смотри аттач ;)
скажи нет копипасту! мы за здоровый се.., тьфу, кодинг!


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

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