forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

Nex 27.07.2009 00:56

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от ABTOMAT (Сообщение 111932)
Просмотрел :) Fatalix3d, у тебя код кишмя кишит ошибками

У кого то на форуме была подпись: хорошие программы пишутся тупым кодом, а не наоборот. :-)

G.A.D 29.07.2009 21:30

Ответ: Вопрос-Ответ (для новичков)
 
PHP код:

While Not KeyDown (1)
x#=PickedX ()
y=PickedZ()
v#=0.25*10
CameraPick(cam,MouseX(),MouseY())
If 
MouseHit(1Then MoveEntity pivot,x,2,0 MoveEntity pl,x,0,

не стал зодавать новую тему написал тут
вообщем сфера привязана к пивоту
при нажатии на мышку происходит движение на plane в по координате X
но сфера с каждым нажатием уходит всё дальше
то есть
растояние при первом нажатии < чем второе и последующие
как исправить?

NitE 29.07.2009 21:41

Ответ: Вопрос-Ответ (для новичков)
 
PositionEntity()

G.A.D 29.07.2009 22:17

Ответ: Вопрос-Ответ (для новичков)
 
Не подходит

NitE 29.07.2009 23:23

Ответ: Вопрос-Ответ (для новичков)
 
эмм... почему ?

jimon 29.07.2009 23:27

Ответ: Вопрос-Ответ (для новичков)
 
ну если G.A.D хочет делать с коллизиями то думаю что-то типа
MoveEntity pivot,x-EntityX(pivot),2-EntityY(pivot), MoveEntity pl,x-EntityX(pl),0,y-EntityY(pl)

Mhyhr 29.07.2009 23:59

Ответ: Вопрос-Ответ (для новичков)
 
Имеются ли на Xors'e функции FlushMouse (и FlushKey) а то сам не нашел.

NitE 30.07.2009 00:47

Ответ: Вопрос-Ответ (для новичков)
 
неа, хотя самому нужны.

Mhyhr 30.07.2009 10:28

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

неа, хотя самому нужны.
Какой вариант вы(об)хода может быть предложен?

ABTOMAT 30.07.2009 16:35

Ответ: Вопрос-Ответ (для новичков)
 
Я вот так объезжаю:

Код:

Global KH_SPACE, KH_LEFT_CTRL, KH_LEFT_SHIFT, KH_RIGHT_CTRL, KH_RIGHT_SHIFT, KH_W, KH_A, KH_S, KH_D, KH_Q, KH_E
Global KD_SPACE, KD_LEFT_CTRL, KD_LEFT_SHIFT, KD_RIGHT_CTRL, KD_RIGHT_SHIFT, KD_W, KD_A, KD_S, KD_D, KD_Q, KD_E

Global KH_F, KH_R, KH_T, KH_Y
Global KD_F, KD_R, KD_T, KD_Y

Global KH_1, KH_2, KH_3, KH_4, KH_5, KH_6, KH_7, KH_8, KH_9, KH_0
Global KD_1, KD_2, KD_3, KD_4, KD_5, KD_6, KD_7, KD_8, KD_9, KD_0

Global KH_NUM_1, KH_NUM_2, KH_NUM_3, KH_NUM_4, KH_NUM_5, KH_NUM_6, KH_NUM_7, KH_NUM_8, KH_NUM_9, KH_NUM_0
Global KD_NUM_1, KD_NUM_2, KD_NUM_3, KD_NUM_4, KD_NUM_5, KD_NUM_6, KD_NUM_7, KD_NUM_8, KD_NUM_9, KD_NUM_0

Global KH_TAB, KH_BACKSPACE, KH_ENTER, KH_LEFT_ALT
Global KD_TAB, KD_BACKSPACE, KD_ENTER, KD_LEFT_ALT

Global MouseXS,MouseYS,MouseZS

Global MX,MY,MZ

Global Mouse1Hit,Mouse2Hit,Mouse3Hit
Global Mouse1Down,Mouse2Down,Mouse3Down

Global Mouse1Up,Mouse2Up,Mouse3Up ; Самодельное :)

Function GetInput()
; Цифры

        KH_1 = xKeyHit(2)
        KD_1 = xKeyDown(2)
        KH_2 = xKeyHit(3)
        KD_2 = xKeyDown(3)
        KH_3 = xKeyHit(4)
        KD_3 = xKeyDown(4)
        KH_4 = xKeyHit(5)
        KD_4 = xKeyDown(5)
        KH_5 = xKeyHit(6)
        KD_5 = xKeyDown(6)
        KH_6 = xKeyHit(7)
        KD_6 = xKeyDown(7)
        KH_7 = xKeyHit(8)
        KD_7 = xKeyDown(8)
        KH_8 = xKeyHit(9)
        KD_8 = xKeyDown(9)
        KH_9 = xKeyHit(10)
        KD_9 = xKeyDown(10)
        KH_0 = xKeyHit(11)
        KD_0 = xKeyDown(11)

; NumPad

        KH_NUM_1 = xKeyHit(79)
        KD_NUM_1 = xKeyDown(79)
        KH_NUM_2 = xKeyHit(80)
        KD_NUM_2 = xKeyDown(80)
        KH_NUM_3 = xKeyHit(81)
        KD_NUM_3 = xKeyDown(81)
        KH_NUM_4 = xKeyHit(75)
        KD_NUM_4 = xKeyDown(75)
        KH_NUM_5 = xKeyHit(76)
        KD_NUM_5 = xKeyDown(76)
        KH_NUM_6 = xKeyHit(77)
        KD_NUM_6 = xKeyDown(77)
        KH_NUM_7 = xKeyHit(71)
        KD_NUM_7 = xKeyDown(71)
        KH_NUM_8 = xKeyHit(72)
        KD_NUM_8 = xKeyDown(72)
        KH_NUM_9 = xKeyHit(73)
        KD_NUM_9 = xKeyDown(73)
        KH_NUM_0 = xKeyHit(82)
        KD_NUM_0 = xKeyDown(82)


; Hit
        KH_SPACE = xKeyHit(57)
        KH_LEFT_ALT = xKeyHit(56)
        KH_LEFT_CTRL = xKeyHit(29)
        KH_LEFT_SHIFT = xKeyHit(42)
        KH_RIGHT_ALT = xKeyHit(184)
        KH_RIGHT_CTRL = xKeyHit(157)
        KH_RIGHT_SHIFT = xKeyHit(42)       
        KH_W = xKeyHit(17)
        KH_A = xKeyHit(30)
        KH_S = xKeyHit(31)
        KH_D = xKeyHit(32)
        KH_Q = xKeyHit(16)
        KH_E = xKeyHit(18)
        KH_F = xKeyHit(33)
        KH_R = xKeyHit(19)
        KH_T = xKeyHit(20)
        KH_Y = xKeyHit(21)
        KH_TAB = xKeyHit(15)
        KH_BACKSPACE = xKeyHit(14)
        KH_ENTER = xKeyHit(28)
; Down
        KD_SPACE = xKeyDown(57)
        KD_LEFT_ALT = xKeyDown(56)
        KD_LEFT_CTRL = xKeyDown(29)
        KD_LEFT_SHIFT = xKeyDown(42)
        KD_RIGHT_ALT = xKeyDown(184)
        KD_RIGHT_CTRL = xKeyDown(157)
        KD_RIGHT_SHIFT = xKeyDown(42)
        KD_W = xKeyDown(17)
        KD_A = xKeyDown(30)
        KD_S = xKeyDown(31)
        KD_D = xKeyDown(32)
        KD_Q = xKeyDown(16)
        KD_E = xKeyDown(18)
        KD_F = xKeyDown(33)
        KD_R = xKeyDown(19)
        KD_T = xKeyDown(20)
        KD_Y = xKeyDown(21)
        KD_TAB = xKeyDown(15)
        KD_BACKSPACE = xKeyDown(14)
        KD_ENTER = xKeyDown(28)
; Мышь
        MX = xMouseX()
        MY = xMouseY()
        MZ = xMouseZ()

        MouseXS = xMouseXSpeed()
        MouseYS = xMouseYSpeed()
        MouseZS = xMouseZSpeed()

        Mouse1Hit = xMouseHit(1)
        Mouse2Hit = xMouseHit(2)
        Mouse3Hit = xMouseHit(3)

        Mouse1Up = Mouse1Down
        Mouse1Down = xMouseDown(1)
        If Mouse1Down = 0 And Mouse1Up <> 0 Then
                Mouse1Up = 1
        Else
                Mouse1Up = 0
        End If

        Mouse2Up = Mouse2Down
        Mouse2Down = xMouseDown(2)
        If Mouse2Down = 0 And Mouse2Up <> 0 Then
                Mouse2Up = 1
        Else
                Mouse2Up = 0
        End If

        Mouse3Up = Mouse3Down
        Mouse3Down = xMouseDown(3)
        If Mouse3Down = 0 And Mouse3Up <> 0 Then
                Mouse3Up = 1
        Else
                Mouse3Up = 0
        End If

        ;xFlushKeys() ; которого нет
       
End Function

Собсно это было у меня ещё когда проект был ещё на B3D, но, как оказалось, и без флуша работает неплохо (каждая клавиша, задействованная здесь, флушится при вызове xKeyHit/xKeyDown)

З.Ы. Клавиши тут не все. Однако добавил MouseUp, полезная штука.

Knightmare 30.07.2009 16:39

Ответ: Вопрос-Ответ (для новичков)
 
Я поражаюсь с вас. Чота там не хватает, не работает, но все упорно сидят и тихонечнко матерятся. http://ru.xors3d.com/viewforum.php?f=5 зачем? Написали бы, не обещаю что вот прям сразу запилим, но тем не менее хотя бы будем в курсе чего хотят люди. А рыть 10+ форумов в поисках багов и т.п. как-то не радует.

Mhyhr 30.07.2009 19:19

Ответ: Вопрос-Ответ (для новичков)
 
Замечательно, только что хотел уже писать к вам а тут делегация.
Автомат жестко глушит кейдауны:-D я б до этого бы долго додумывался =) Очень ждём этих обделенный вниманием функций =)
Кстати что там насчет XHidePointer, точнее что с ней в последней версии а то у меня вроде последняя версия библ и деклов а там нет... Или я слепой...:dontknow: ))

ABTOMAT 30.07.2009 19:44

Ответ: Вопрос-Ответ (для новичков)
 
Ну, мне эта функция нужна не для того, чтобы глушить, а для того, чтобы по нескольку раз снимать значения с клавиш, не боясь, что кнопка невовремя сфлушится.

SBJoker 30.07.2009 20:05

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Knightmare (Сообщение 112488)
Я поражаюсь с вас. Чота там не хватает, не работает, но все упорно сидят и тихонечнко матерятся. http://ru.xors3d.com/viewforum.php?f=5 зачем? Написали бы, не обещаю что вот прям сразу запилим, но тем не менее хотя бы будем в курсе чего хотят люди. А рыть 10+ форумов в поисках багов и т.п. как-то не радует.

Оно вчера не работало, так бы запостил.

Knightmare 30.07.2009 22:23

Ответ: Вопрос-Ответ (для новичков)
 
А вчера какая-то неведомая херня случилась с форумом.
xHidePointer есть.


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

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