User Tools

Site Tools


ro:clickb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ro:clickb [2017/09/11 15:06]
junior-root created
ro:clickb [2020/02/28 10:46] (current)
Line 9: Line 9:
 Întoarce butonul cu care s-a dat clic cu mouse-ul ultima dată în fereastra grafică. Întoarce valoarea 0 dacă nu s-a făcut clic. Întoarce butonul cu care s-a dat clic cu mouse-ul ultima dată în fereastra grafică. Întoarce valoarea 0 dacă nu s-a făcut clic.
 {{page>mousebuttonconstants}} {{page>mousebuttonconstants}}
-==== Exemplu simplu ====+==== Exemplu ==== 
 +<code> 
 +loop: 
 +cls 
 +print "mousex = "; mousex 
 +print "mousey = "; mousey 
 +print "mouseb = "; mouseb 
 +print 
 +print "clickx = "; clickx 
 +print "clicky = "; clicky 
 +print "clickb = "; clickb 
 + 
 +pause 0.05 
 +goto loop 
 +</code> 
 +==== Exemplul doi ====
 <code> <code>
 # șterge orice clic făcut mai devreme # șterge orice clic făcut mai devreme
Line 22: Line 37:
 </code> </code>
 ==== Notă ==== ==== Notă ====
-Pentru detectarea butonului cu care s-a dat clic se poate compara valoare întoarsă  +Funcția **ClickB** va întoarce întotdeauna valoarea unui singur buton, deoarece un utilizator nu poate da clic cu două butoane în exact același moment.\\ 
-sau  +Dacă se dorește să se verifice dacă utilizatorul a dat clic cu un anumit buton (să spunem cel din stânga) se poate compara astfel: 
-==== Exemplu cu detectarea butoanelor ====+<code> 
 +if clickb = MOUSEBUTTON_LEFT then print "a fost apăsat butonul din stânga"; 
 +</code> 
 +Deși funcția **ClickB** poate întoarce valoarea unui singur buton apăsat, ea mai poate detecta și acțiunea de dublu clic (două clicuri rapide și succesive cu același buton în aproximativ același loc). În cazul în care utilizatorul execută un dublu clic, atunci valoarea întoarsă va conține valoare butonului care a generat clicul la care se va adăuga și valoarea MOUSEBUTTON_DOUBLECLICK.\\ 
 +Dacă se dorește să se verifice dacă utilizatorul a executat un dublu clic cu butonul din stânga se poate compara cu oricare din variantele: 
 +<code> 
 +if clickb = MOUSEBUTTON_LEFT + MOUSEBUTTON_DOUBLECLICK then print "a fost apăsat butonul din stânga"; 
 +if clickb = MOUSEBUTTON_LEFT & MOUSEBUTTON_DOUBLECLICK then print "a fost apăsat butonul din stânga"; 
 +</code> 
 +**Atenție:** În cazul executării unui dublu clic, BASIC-256 va detecta mai întâi clicul inițial și va semnaliza prin funcția **ClickB** butonul apăsat. Dacă se execută un dublu clic, doar al doilea clic **ClickB** va conține atât valoare butonului cu care s-a făcut clic, cât și valoarea MOUSEBUTTON_DOUBLECLICK.\\ 
 +Pentru a detecta un clic făcut cu butonul din stânga, indiferent că este un simplu clic sau este un dublu clic, se poate verifica astfel: 
 +<code> 
 +if (clickb & MOUSEBUTTON_LEFT) then print "a fost apăsat butonul din stânga"; 
 +</code> 
 + 
 + 
 +==== Exemplu cu detectarea butoanelor și a dublu clicului ====
 <code> <code>
 # șterge orice clic făcut mai devreme # șterge orice clic făcut mai devreme
 clickclear clickclear
-# așteaptă pentru ca utilizatorul să dea clic 
 print "Fă clic pe fereastra grafică" print "Fă clic pe fereastra grafică"
 +# așteaptă pentru ca utilizatorul să dea clic
 while clickb = 0 while clickb = 0
   pause .01   pause .01
 endwhile endwhile
  
-pause 0.5 #acordă un pic de timp ca să vedem dacă este de fapt un dublu clic+pause 0.5 # utilizatorul a dat clic, totuși acordăun pic de timp ca să vedem dacă utilizatorul execută un dublu clic
  
 # Arată unde s-a făcut clic # Arată unde s-a făcut clic
Line 112: Line 143:
 ==== Istoric ====  ==== Istoric ==== 
 |0.9.4d|Adăugată în acestă versiune| |0.9.4d|Adăugată în acestă versiune|
-|1.99.99.58|Added Named Constants|+|1.99.99.58|S-au adăugat numele constantelor pentru butoane|
  
ro/clickb.1505163983.txt.gz · Last modified: 2020/02/28 10:46 (external edit)