Понедельник, 25 Ноября 2024, 18:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Мои бесполезные примеры
ApatiДата: Пятница, 02 Апреля 2010, 19:55 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Вот несколько примеров рисования фигур линиями, может кому пригодятся.
Весь код размещается в событии Draw объекта.
Для корректной работы некоторых примеров необходимо включить опцию "Обращаться с неиницализированными переменными как с 0", которая находится в глобальных игровых настройках на вкладке "Ошибки".

1. Звездочка

Code
{
      for (i=0; i<=300; i+=5)
      {
          draw_line(x,y+300-i,x+i,y);
          draw_line(x,y+300-i,x-i,y);
          draw_line(x,y-300+i,x+i,y);
          draw_line(x,y-300+i,x-i,y);
      }
}

2. Анимированная лента

Code
{
      for (i=0; i<pi*2; i+=0.05)
      {
          if (i<2)draw_line (x+i*100, y+sin(dt+i)*50*i, x+(i+0.3)*100, y-cos(dt+i+0.3)*50*i);
          else if (2*pi-i<2)draw_line (x+i*100, y+sin(dt+i)*50*(2*pi-i), x+(i+0.3)*100, y-cos(dt+i+0.3)*50*(2*pi-i));
               else draw_line (x+i*100, y+sin(dt+i)*100, x+(i+0.3)*100, y-cos(dt+i+0.3)*100);
      }
      dt+=0.1;
      if (dt>pi*2) dt-=pi*2;
}

3. Вращающаяся звезда

Code
{
      for (i=0; i<2*pi; i+=0.1)
      {
          l1=100+20*sin((i+dt)*6);
          l2=100+20*sin((i+0.1+dt)*6);
          c1=cos(i); c2=cos(i+0.1);
          s1=sin(i); s2=sin(i+0.1);
          for (j=0.99; j>0.88; j-=0.005)
          {
              draw_line (x+l1*c1, y+l1*s1, x+l2*c2, y+l2*s2);
              l2*=j; l1*=j;
          }
      }
      dt+=0.02;
      if (dt>2*pi)dt-=2*pi;
}

4. Овал с передвигающимся центром

Code
{
      for (i=0; i<2*pi; i+=0.1)
      {
          l1=100;
          l2=100;
          c1=cos(i); c2=cos(i+0.1);
          s1=sin(i); s2=sin(i+0.1);
          x1=x; y1=y; cdt=cos(dt); sdt=sin(dt);
          for (j=0.99; j>0.88; j-=0.005)
          {
              draw_line (x1+l1*1.5*c1, y1+l1*s1, x1+l2*1.5*c2, y1+l2*s2);
              l2*=j; l1*=j;
              x1-=3*1.5*cdt;
              y1-=3*sdt;
          }
      }
      dt+=0.02;
      if (dt>2*pi)dt-=2*pi;
}

5. Вообще затрудняюсь сказать что это, надо водить мышкой

Code
{
      for (i=0; i<2*pi; i+=0.2)
      {
          draw_line(x+50*cos(i),y+50*sin(i),x+50*cos(i+0.2),y+50*sin(i+0.2));
      }
      a=arctan2(y-mouse_y, x-mouse_x);
      len=point_distance(x,y,mouse_x,mouse_y);

      dr=(len-50)/10;
      r=50+dr;
      for (i=10; i>0; i-=1)
      {
          a2=a-0.2*i;
          for (j=i*2; j>0; j-=1)
          {
              draw_line(x-r*cos(a2),y-r*sin(a2),x-r*cos(a2+0.2),y-r*sin(a2+0.2));
              a2+=0.2;
          }
          r+=dr;
      }
}

---------------
чуть не забыл - примеры для Game Maker 7 Pro

Сообщение отредактировал Apati - Пятница, 02 Апреля 2010, 19:56
LorderonДата: Суббота, 03 Апреля 2010, 00:19 | Сообщение # 2
старожил
Сейчас нет на сайте
Красиво так-же как и бесполезно. И всё.
ScorpioДата: Суббота, 03 Апреля 2010, 09:50 | Сообщение # 3
Любитель геймдева
Сейчас нет на сайте
Может, и не совсем бесполезно. Можно найти применение!

Сообщение отредактировал Scorpio - Суббота, 03 Апреля 2010, 09:51
LorderonДата: Суббота, 03 Апреля 2010, 10:19 | Сообщение # 4
старожил
Сейчас нет на сайте
Ну вообще да, в хозяйстве всё пригодитря.
ezhickovichДата: Суббота, 03 Апреля 2010, 14:37 | Сообщение # 5
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Такой красоте всегда найдётся применение.


Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг