Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[DL] Sinusoida kursora myszki


Rekomendowane odpowiedzi

Opublikowano

 

 

#include <windows.h>
#include <iostream>
#include <cmath>
 
class troll
{
    public:
 
    POINT cursor;
    RECT res;
    bool draw = false;
    int w,h,midh;
    float ampl,ok;
 
        troll()
        {
             HWND hWnd = GetDesktopWindow();
             GetWindowRect(hWnd,&res); //right == w, bot = h
             GetCursorPos(&cursor);
             w = res.right, h = res.bottom, midh = h/2;
             ampl = 300, ok = 200;
        }
 
          void normalize()
        {
          //  mouse_event(MOUSEEVENTF_LEFTUP,NULL,NULL,NULL,NULL);
            SetCursorPos(30,res.bottom/2);
         //   mouse_event(MOUSEEVENTF_LEFTDOWN,NULL,NULL,NULL,NULL);
        }
        void chng(bool dis)
        {
            draw = !draw;
            if(dis)
                normalize();
           // mouse_event((draw?MOUSEEVENTF_LEFTDOWN:MOUSEEVENTF_LEFTUP),NULL,NULL,NULL,NULL);
            Sleep(10);
        }
 
        void mainLoop()
        {
            while(true)
            {
                if(GetAsyncKeyState(VK_INSERT)&1)
                    chng(false);
                if(GetAsyncKeyState(VK_HOME)&1)
                {
                   ampl += 2;
                    if(ampl>=h/2)
                        ampl = 1;
                    Sleep(20);
                }
                if(GetAsyncKeyState(VK_END)&1)
                {
                    ampl-=2;
                    if(ampl<=0)
                        ampl = h/2-1;
                    Sleep(20);
                }
                if(GetAsyncKeyState(0x21)&1) //page up
                {
                    ok+=2;
                    if(ok>=w/2)
                        ok = 1;
                    Sleep(20);
                }
                if(GetAsyncKeyState(0x22)&1) //page down
                {
                    ok-=2;
                    if(ok<=0)
                        ok = w/2-1;
                    Sleep(20);
                }
                if(cursor.x>=w-50)
                    chng(true);
                if(draw)
                {
                   GetCursorPos(&cursor);
                   SetCursorPos(cursor.x+3,midh+sin(static_cast<float>(cursor.x)/ampl)*ok);
                }
                Sleep(2);
            }
        }
 
};

 

 

 

prosta klasa do 'rysowania' sinusoidy kursorem myszki, moze sie przydac do wkurzania ludzi (w tym celu ja stworzylem, pracuje nad czyms ciekawszym.. :D), home/end - amplituda +/i, pageup / pagedown - okres +/i, ins wlacza i wylacza rysowanie

 

dla osob, ktore nie wiedza jak tego uzyc:

 

 

wklejasz kod do pliku  nazwa.h, dodajesz w swoim kodzie  #include "nazwa.h" ew wklejasz to wszystko ponad mainem

a potem 

troll test;
test.mainLoop();

 

 

Opublikowano

Heh, raz widziałem, że ktoś zrobił też tego typu program, który obracał kursorem kółka. Całkiem fajnie się w paincie tym rysowało :).

 

Btw po co kolejny plik źródłowy, skoro można zrobić maina zaraz pod definicją klasy?


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Heh, raz widziałem, że ktoś zrobił też tego typu program, który obracał kursorem kółka. Całkiem fajnie się w paincie tym rysowało :).

 

Btw po co kolejny plik źródłowy, skoro można zrobić maina zaraz pod definicją klasy?

bo to jest osobny plik zrodlowy, juz ma troche wiecej metod, tutaj wrzucilem taka 'wykastrowana' wersje xD

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...