Quantcast
Channel: vinxru
Viewing all articles
Browse latest Browse all 319

Эффект на кнопке

$
0
0
Рассматривая все новые программы, в том числе сложные и специализированные, все без исключения люди пускают слюни от стартовой страницы и интерфейса в общем. Эта мысль у меня появилась еще в глубоком детстве. Всем нравились игры с хорошей графикой, а на геймплей всем было пофиг. Собственно сейчас так и происходит. Начиная от самой популярной игры на планшетах Bad Piggies, заканчивая супер 3D шутерами.

(Ну не всем, а половине. Остальной половине нравится годами кликать по монстрам в MMORPG. Геймплеем это то же назвать сложно.)

Так и в бизнес приложениях. Я сам видел, как взрослые дяди: бухгалтера, финансисты, директора выбрали программу, в которой было больше всего эффектов, переливающихся графиков. Когда при щелчке по ячейке отчета не просто появляется новый отчет, а с дымом и искрами разворачивается эта ячейка.

Короче, нам и мне заняться всякими украшательствами. В первую очередь я заметил переливающиеся кнопки на панели задач Windows... 8 минут и у меня то же есть подобный эффект



В не оптимизированном, но более понятном варианте это выглядит так:

      int mx,my;
      getCursorPos(mx,my);
      screenToClient(mx,my);
      unsigned char* a = (unsigned char*)dc.backBmp.ptr32;
      if(a==0) return;
      double cy = dc.backBmp.height;
      double cx = dc.backBmp.width;
      for(int y=dc.backBmp.height-1; y>=0; y--)
        for(int x=0; x<dc.backBmp.width; x++) {
          int xx = abs(cx-x-mx)*cy/cx + abs(cy-y-my);
          xx = 16-xx;
          if(xx<0) xx=0;
          for(int n=0; n<3; n++) {
            int v = int(*a) + xx;
            if(v > 255) v = 255;
            *a++ = v; 
          }
          a++;
        }


Viewing all articles
Browse latest Browse all 319

Trending Articles