forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   управление в RPG (http://forum.boolean.name/showthread.php?t=5535)

Raiter 15.01.2008 02:08

Ответ: управление в RPG
 
Цитата:

демку фпс, думаю, стоит доделать, ибо самое важное там явно было упущено...
явно демка вся была спопипастена :)

JeSss 15.01.2008 19:13

Re: Ответ: управление в RPG
 
;Баги позволяются бете, но не демке...
А, незнал, ну тада сделаю Бету уж, т.к. делал не очень много, и без физики...:-)

Raiter 15.01.2008 19:24

Ответ: управление в RPG
 
Ну так показывай что там у тебя :)

Android 15.01.2008 20:18

Ответ: управление в RPG
 
Цитата:

Сообщение от avel (Сообщение 74293)
dector жжошь! :)
tormoz+1
Android и HolyDel народ, вы оба не правы... :) ему после двойного клика надо мышу обнулять, так что: If ClickCount = 2 Then ClickCount = 0

а вообще это все давно уже обсуждалось и не раз!
демку фпс, думаю, стоит доделать, ибо самое важное там явно было упущено...

avel, так я же и говорю:
Цитата:

Сообщение от Android
- незабудь поставить ограничение на колличество кликов ( If ClickCount = 2 Then ClickCount = 0 ;) )


avel 15.01.2008 20:30

Ответ: управление в RPG
 
Android значит меня либо глючит, либо твой пост был исправлен... :)

Android 16.01.2008 10:34

Ответ: управление в RPG
 
Цитата:

Сообщение от avel (Сообщение 74417)
Android значит меня либо глючит, либо твой пост был исправлен... :)

Ёпрст... Если не веришь посмотри на пост HolyDel'a или IGR'a, т.к. их посты я исправить не могу:(

avel 16.01.2008 17:01

Ответ: управление в RPG
 
Android извентиляюсь. не туда глянул... :)
ну, значит, ты прав, а Олег нет... Хотя он-то тоже прав, ибо в обычном случае так и должно быть, но так как это счетчик, то надо обнулять. а вообще странный способ... лучше как-нить иначе реализовать.

HolyDel 16.01.2008 18:46

Ответ: управление в RPG
 
по поводу обнуления счетчика. конкретно в его задаче. там нужно ОГРАНИЧИВАТЬ. потому, что если он его обнулит в ТОМ МЕСТЕ, то даблклик не сработает никогда. ОБНУЛЯТЬ счетчик надо при выполнении действия, в завершение вот вам пример счетчков кликов.

на первый квадрат надо кликать один раз
на второй два
на третий три

Код:

Graphics 800,600,32,2
SetBuffer BackBuffer()

SetFont LoadFont("Times New Roman",24,1)
mclick=0 ; Число кликов
While Not KeyDown(1)
       
        ;Копировать отсюда
        md1=MouseDown(1)        ;
        md2=MouseDown(2)        ;
       
        If md1
                mu_tm=0
                md_tm=md_tm+1
                If md_tm>15 Then mclick=0
                If md1_dn
                        mclick=mclick+1
                        If mclick=1 Then mfcx=MouseX():mfcy=MouseY()
                        If mclick=2
                                If Abs(mfcx-MouseX())>3 Or Abs(mfcy-MouseY())>3 Then mclick=0
                        EndIf
                md1_dn=0
                EndIf
        Else
                md1_dn=1
                md_tm=0
                mu_tm=mu_tm+1
                If mu_tm>15 Then mclick=0
        EndIf
        ;И до сюда
       
        If chn1 Then Color 0,255,255 Else Color 255,0,0
        Rect 100,100,100,100
       
        If chn2 Then Color 255,0,255 Else Color 0,255,0
        Rect 300,100,100,100
       
        If chn3 Then Color 255,255,0 Else Color 0,0,255
        Rect 500,100,100,100
       
        Color 0,0,0
       
        Text 150,150,"1",1,1
        Text 350,150,"2",1,1
        Text 550,150,"3",1,1
       
        ;Обработка/ ето важно понять
        If MouseY()>100 And MouseY()<200
       
                If MouseX()>100 And MouseX()<200
                        If mclick=1
                                chn1=1-chn1 ;что то сделаем
                                mclick=0        ;ОБНУЛИМ счетчик здесь! а не где нибудь еще
                        EndIf
                EndIf

                If MouseX()>300 And MouseX()<400
                        If mclick=2
                                chn2=1-chn2 ;что то сделаем
                                mclick=0        ;ОБНУЛИМ счетчик здесь! а не где нибудь еще
                        EndIf
                EndIf
               
                If MouseX()>500 And MouseX()<600
                        If mclick=3
                                chn3=1-chn3 ;что то сделаем
                                mclick=0        ;ОБНУЛИМ счетчик здесь! а не где нибудь еще
                        EndIf
                EndIf
                       
        EndIf
       
        Flip
Wend

здесь откоментен самый главный участок (чуть изминенная версия)
http://likosoft.ucoz.ru/forum/29-116-1


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

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