косяк?

Pixilang по русски
Post Reply
User avatar
vtl
Posts: 31
Joined: Sun Dec 28, 2008 6:41 pm
Location: Saint Petersburg, Russia
Contact:

косяк?

Post by vtl »

в общем хотел сделать снятие скриншота, нагло не обрабатывается до конца. вот часть кода этого:

Code: Select all


...

draw:

  handle_pen_keys(handle_st_down, handle_st_move, handle_st_up)
  handle_hard_keys(handle_play, 0)
  handle_press

  if (simulate = 1)
  {
    if (get_timer(0) >= sp)
    {
      next_matrix
      start_timer(0)
    }
  }

  paint
  if (record = 0)
  {
    frame(stepsp)
  }
  else
  {
    frame(sp)
  }

goto draw

handle_st_down:

...

  if(gpr(button_shot_x - b_x /2, button_shot_y - b_y / 2, b_x, b_y) = 1)
  {
    handle_shot
    ret
  }

...

ret

...

handle_shot:

  if (record != 1 & file_dialog(str, "Сохранение снимка в gif", "gif", "record.ini") = 1)
  {
    video_export_gif(str, -w / 2, -h / 2, w, h - panel_size)  //после этой команды дальше идти не хочет
    frame(100)
    stop_video_export
  }

ret

...

в чем косяк вообще понять не могу. есть аналогичная команда записи в гиф и всё пашет, а тут как с команды вылетает и идет в основной цикл...
User avatar
vtl
Posts: 31
Joined: Sun Dec 28, 2008 6:41 pm
Location: Saint Petersburg, Russia
Contact:

Re: косяк?

Post by vtl »

как выяснилось вылетает на frame, только не ясно почему...
User avatar
vtl
Posts: 31
Joined: Sun Dec 28, 2008 6:41 pm
Location: Saint Petersburg, Russia
Contact:

Re: косяк?

Post by vtl »

в общем разобрался. сделал флаг и в основном цикле его проверяю, не любит почему-то экспорт фрейм где попало...
User avatar
NightRadio
Site Admin
Posts: 3941
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: косяк?

Post by NightRadio »

Ага, это старый недочет.. Или просто недокументированная особенность Pixilang. Предпологается, что в обработчиках событий нет никаких "прерываний" вроде frame() и выход из них происходит мгновенно.
Post Reply